이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
using namespace std;
#include "game.h"
#define N 1502
int T[N][N],ata[N],sz[N],n;
int find(int x){
return ata[x] == x ? x : ata[x] = find(ata[x]);
}
int hasEdge(int x, int y){
if((x=find(x)) == (y=find(y))) assert(0);
if(T[x][y] < sz[x]*sz[y]-1){
T[x][y]++;
T[y][x]++;
return 0;
}
ata[y] = x;
sz[x] += sz[y];
for(int i=0;i<n;i++){
T[x][i] += T[y][i];
T[i][x] += T[y][i];
}
return 1;
}
void initialize(int ss){
n = ss;
for(int i=0; i<n; i++){
ata[i] = i;
sz[i] = 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... |