Submission #168351

#TimeUsernameProblemLanguageResultExecution timeMemory
168351mat_vGame (IOI14_game)C++14
0 / 100
2 ms376 KiB
#include <bits/stdc++.h> //#include "game.h" using namespace std; int dsu[2505]; int ima[2505][2505]; vector<int> graf[2505]; bool bio[2505]; int n; void init(){ for(int i=1; i<=n; i++)dsu[i] = i; } int findpar(int x){ if(x == dsu[x])return x; return dsu[x] = findpar(dsu[x]); } int uk = 0; void unite(int x, int y){ uk--; int a = findpar(x); int b = findpar(y); dsu[a] = b; } void dfs(int x){ bio[x] = 1; for(int i=1; i<=n; i++){ if(!bio[i]){ if(ima[x][i] != 2)dfs(i); } } } void probaj(int src){ for(int i=1; i<=n; i++)bio[i] = 0; dfs(src); } void initialize(int m) { n = m; uk = n; init(); } int hasEdge(int u, int v) { probaj(u); if(bio[v]){ ima[u][v] = ima[v][u] = 2; return 0; } else{ ima[u][v] = ima[v][u] = 1; return 1; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...