제출 #856455

#제출 시각아이디문제언어결과실행 시간메모리
856455nninGame (IOI14_game)C++14
100 / 100
251 ms26708 KiB
#include<bits/stdc++.h> #define ll long long #define pii pair<ll,int> using namespace std; int n, dsu[1505], sz[1505], ct[1505][1505]; int par(int x) { if(dsu[x]==-1) return x; return dsu[x] = par(dsu[x]); } void initialize(int N) { n = N; for(int i=0;i<n;i++) { dsu[i] = -1; sz[i] = 1; } } int hasEdge(int u, int v) { u = par(u); v = par(v); if(ct[u][v]+1<sz[u]*sz[v]) { ct[u][v]++; ct[v][u]++; return 0; } dsu[v] = u; sz[u] += sz[v]; for(int i=0;i<n;i++) { if(par(i)!=i || i==u) continue; ct[u][i] = ct[i][u] = ct[u][i]+ct[v][i]; } return 1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...