제출 #1185243

#제출 시각아이디문제언어결과실행 시간메모리
1185243ivaziva게임 (IOI14_game)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h>
#include "game.h"

using namespace std;

#define MAXN 1501

int brkomp,parent[MAXN],siz[MAXN];

int get(int node)
{
    if (parent[node]==node) return node;
    else return get(parent[node]);
}

void unite(int node1,int node2)
{
    node1=get(node1),node2=get(node2);
    if (siz[node1]<siz[node2]) swap(node1,node2);
    parent[node2]=node1;siz[node1]+=siz[node2];
}

void initialize(int n)
{
    brkomp=n;for (int i=0;i<n;i++) {parent[i]=i;siz[i]=1;}
}

int hasEdge(int u,int v)
{
    if (get(u)==get(v)) return 1;
    if (brkomp==2) return 0;
    unite(u,v);brkomp--;return 1;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...