Submission #1296744

#TimeUsernameProblemLanguageResultExecution timeMemory
1296744M_W_13Game (IOI14_game)C++20
0 / 100
250 ms327680 KiB
#include "game.h"
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
#define rep(i, n) for (int i = 0; i < (n); i++)
#define st first
#define nd second
#define pb push_back
#define pii pair<int, int>
#define all(a) a.begin(), a.end()
const int MAXN = 1507;
set<int> tr[MAXN];
int n;

void initialize(int N) {
    n = N;
    for (int i = 0; i < n; i++) {
        for (int j = i + 1; j < n; j++) {
            tr[i].insert(j);
            tr[j].insert(i);
        }
    }
}

int cnt = 0;

void dfs(int v, int last) {
    cnt++;
    for (auto syn: tr[v]) {
        if (syn == last) continue;
        dfs(syn, v);
    }
}

int hasEdge(int u, int v) {
    tr[u].erase(v);
    tr[v].erase(u);
    cnt = 0;
    dfs(0, 0);
    if (cnt != n) {
        tr[u].insert(v);
        tr[v].insert(u);
        return 1;
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...