이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "game.h"
#include <bits/stdc++.h>
const int MAXN=1510;
int n, x, y;
int par[MAXN];
int deg[MAXN][MAXN];
int getpar(int x){ return (par[x]==x?x:par[x]=getpar(par[x]));}
void initialize(int nn){
n=nn;
for (int i=0; i<n; i++){
par[i]=i;
for (int j=0; j<n; j++) deg[i][j]=(i!=j);
}
}
int hasEdge(int u, int v){
x=getpar(u);
y=getpar(v);
assert(x!=y);
deg[x][y]--;
deg[y][x]--;
if (deg[x][y]) return 0;
for (int i=0; i<n; i++){
deg[i][y]+=deg[i][x];
deg[i][x]=0;
deg[y][i]+=deg[x][i];
deg[x][i]=0;
}
par[x]=y;
return 1;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |