#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |