Submission #627869

#TimeUsernameProblemLanguageResultExecution timeMemory
627869SebGame (IOI14_game)C++17
0 / 100
1 ms344 KiB
#include "game.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; ll p[1505],sz[1505],q[1505]; ll lider(ll a) { if (p[a]==a) return a; p[a] = lider(p[a]); return p[a]; } void unir(ll a, ll b) { if (sz[b]>sz[a]) swap(a,b); p[b] = a; sz[a] += sz[b]; q[a] += q[b]; return; } void initialize(int n) { ll i; for (i=0;i<n;i++) { p[i] = i; sz[i] = 1; q[i] = n-1; } } int hasEdge(int u, int v) { if (q[lider(u)]==1 || q[lider(v)]==1) { q[lider(u)]--; q[lider(v)]--; unir(lider(u),lider(v)); return 1; } else { q[lider(u)]--; q[lider(v)]--; return 0; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...