이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "game.h"
#include<bits/stdc++.h>
using namespace std;
int par[1569], sz[1569];
int m, cnt[1569][1569];
int find(int x){
return par[x]==x?x:par[x]=find(par[x]);
}
void uni(int a, int b){
if(a<b) swap(a, b);
par[a]=b; sz[b]+=a;
}
void initialize(int n){
m=n; memset(cnt, 0, sizeof(cnt));
for(int i=0; i<n; i++){
par[i]=i; sz[i]=1;
}
}
int hasEdge(int u, int v){
u=find(u); v=find(v);
cnt[u][v]++; cnt[v][u]++;
if(cnt[u][v]==sz[u]*sz[v]){
uni(u, v);
for(int i=0; i<m; i++){
cnt[u][i]+=cnt[v][i];
cnt[i][u]+=cnt[i][v];
}
return 1;
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |