Submission #1153801

#TimeUsernameProblemLanguageResultExecution timeMemory
1153801BehruzbekXGame (IOI14_game)C++17
0 / 100
0 ms328 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];
        return 1;
    }
} dsu;
void initialize(int n) {
    dsu.init(n+1);
}

int hasEdge(int u, int v) {
    return !dsu.merge(u,v);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...