제출 #849203

#제출 시각아이디문제언어결과실행 시간메모리
849203abcvuitunggioGame (IOI14_game)C++17
0 / 100
1 ms348 KiB
#include "game.h"
#include <bits/stdc++.h>
using namespace std;
int p[1501],sz[1501],cnt[1501];
int f(int u){
    return (p[u]==u?u:p[u]=f(p[u]));
}
bool unite(int u, int v){
    u=f(u);
    v=f(v);
    if (u==v)
        cnt[u]++;
    else{
        if (sz[u]>sz[v])
            swap(u,v);
        p[v]=u;
        sz[u]+=sz[v];
        cnt[u]+=cnt[v]+1;
    }
    return (cnt[u]*2==sz[u]*(sz[u]-1));
}
void initialize(int n) {
    iota(p,p+n,0);
    fill(sz,sz+n,1);
}
int hasEdge(int u, int v) {
    return unite(u,v);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...