제출 #548101

#제출 시각아이디문제언어결과실행 시간메모리
548101ToroTNGame (IOI14_game)C++14
0 / 100
1 ms308 KiB
#include<bits/stdc++.h>
using namespace std;
#include "game.h"

int id[1505],p1[1505],p2[1505],cnt=1;
int f1(int a)
{
    if(p1[a]==a)return a;
    return p1[a]=f1(p1[a]);
}
void un1(int b,int c)
{
    p1[f1(b)]=f1(c);
}
int f2(int a)
{
    if(p2[a]==a)return a;
    return p2[a]=f2(p2[a]);
}
void un2(int b,int c)
{
    p2[f2(b)]=f2(c);
}
void initialize(int n) {
    for(int i=1;i<=n;i++)p1[i]=i,p2[i]=i;
}

int hasEdge(int u, int v) {
    if(f1(u+1)==f1(v+1))
    {
        return 1;
    }else if(f2(u+1)==f2(v+1))
    {
        return 0;
    }else
    {
        if(cnt==1)
        {
            un1(u+1,v+1);
            cnt=3-cnt;
            return 1;
        }else
        {
            un2(u+1,v+1);
            cnt=3-cnt;
            return 0;
        }
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...