Submission #1315585

#TimeUsernameProblemLanguageResultExecution timeMemory
1315585AgageldiGame (IOI14_game)C++20
42 / 100
1094 ms12692 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;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...