| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1315584 | Agageldi | 게임 (IOI14_game) | C++20 | 0 ms | 0 KiB |
#include "bits/stdc++.h"
#include "game.h"
#include "grader.cpp"
using namespace std;
#define MAXN 2000
int vis[MAXN], N;
set <int> E[MAXN];
void solve(int x){
vis[x] = 1;
for(auto i : E[x]) {
if(!vis[i]) solve(i);
}
}
void initialize(int n) {
N = n;
for(int i = 0; i < n; i++) {
for(int j = i + 1; j < n; j++) {
E[i].insert(j);
E[j].insert(i);
}
}
}
int hasEdge(int u, int v) {
E[u].erase(v);
E[v].erase(u);
solve(0);
bool ok = 0;
for(int i = 0; i < N; i++) {
if(!vis[i]) ok = 1;
vis[i] = 0;
}
if(ok) {
E[u].insert(v);
E[v].insert(u);
return 1;
}
else return 0;
}
