제출 #760641

#제출 시각아이디문제언어결과실행 시간메모리
760641thinknoexit게임 (IOI14_game)C++17
0 / 100
1 ms340 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; int ch[1505][1505]; int p[1505], a[1505]; int fr(int i) { if (p[i] == i) return i; return p[i] = fr(p[i]); } void initialize(int n) { for (int i = 1;i <= n;i++) { p[i] = i; a[i] = n - 1; } } int hasEdge(int u, int v) { u++, v++; if (u == v) return 0; if (ch[u][v]) { return ch[u][v] - 1; } int ans = 0; int pu = fr(u), pv = fr(v); if (pu == pv) ans = 1; else if (a[pu] == 0 || a[pv] == 0) { ans = 1; a[pu] += a[pv]; p[pv] = pu; } else --a[pu], --a[pv], ans = 0; ch[u][v] = ch[v][u] = ans + 1; return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...