Submission #303282

#TimeUsernameProblemLanguageResultExecution timeMemory
303282sofapudenGame (IOI14_game)C++14
100 / 100
598 ms25464 KiB
#include "game.h" #include <bits/stdc++.h> using namespace std; int _n; vector<vector<int>> e; vector<int> ufa; int uf(int ind){ if(ufa[ind] == ind)return ind; ufa[ind] = uf(ufa[ind]); return ufa[ind]; } void initialize(int n) { _n = n; ufa.resize(n); iota(ufa.begin(), ufa.end(), 0); e.resize(n, vector<int> (n,1)); } int hasEdge(int u, int v) { u = uf(u); v = uf(v); if(u == v)return 1; if(e[u][v] == 1){ ufa[u] = ufa[v]; for(int i = 0; i < _n; ++i){ e[v][i]+=e[u][i]; e[i][v]+=e[i][u]; } return 1; } e[u][v]--; e[v][u]--; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...