Submission #713442

#TimeUsernameProblemLanguageResultExecution timeMemory
713442Spade1Game (IOI14_game)C++14
0 / 100
1 ms340 KiB
#include <bits/stdc++.h> #include "game.h" #define pb push_back //#include "grader.cpp" using namespace std; const int maxN = 2000; bool mark[maxN][maxN], vis[maxN]; vector<int> adj[maxN]; int n; void initialize(int n) { ::n = n; } int cnt_cmp(int i, int prt=0) { if (vis[i]) return 0; vis[i] = 1; int cnt = 1; for (auto j : adj[i]) { if (j==prt) continue; cnt += cnt_cmp(j, i); } return cnt; } int hasEdge(int u, int v) { mark[u][v] = 1; mark[v][u] = 1; for (int i = 0; i < n; ++i) adj[i].clear(), vis[i] = 0; for (int i = 0; i < n; ++i) { for (int j = i+1; j < n; ++j) { if (!mark[i][j]) { adj[i].pb(j); adj[j].pb(i); } } } if (cnt_cmp(0) < n) { mark[u][v] = 0; mark[u][v] = 0; return 1; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...