# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1153794 | BehruzbekX | Game (IOI14_game) | C++17 | 2 ms | 320 KiB |
#include "game.h"
#include <bits/stdc++.h>
using namespace std;
struct DSU{
vector<int>p,sz;
void init(int n){
p.resize(n+1);
sz.resize(n+1,1);
iota(p.begin(),p.end(),0);
}
int find(int x){return p[x]==x?x:p[x]=find(p[x]);}
auto merge(int u,int v){
u=find(u),v=find(v);
if(u==v)return 0;
if(sz[u]<sz[v])swap(u,v);
p[v]=u;
sz[u]+=sz[v];
}
} dsu;
void initialize(int n) {
dsu.init(n+1);
}
int hasEdge(int u, int v) {
return dsu.merge(u,v);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |