Submission #1296745

#TimeUsernameProblemLanguageResultExecution timeMemory
1296745M_W_13Game (IOI14_game)C++20
42 / 100
1097 ms12740 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]; bool odw[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++; odw[v] = true; for (auto syn: tr[v]) { if (odw[syn]) continue; dfs(syn, v); } } int hasEdge(int u, int v) { tr[u].erase(v); tr[v].erase(u); cnt = 0; rep(i, n) odw[i] = false; 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...