Submission #1153794

#TimeUsernameProblemLanguageResultExecution timeMemory
1153794BehruzbekXGame (IOI14_game)C++17
0 / 100
2 ms320 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)

game.cpp: In member function 'auto DSU::merge(int, int)':
game.cpp:17:14: warning: control reaches end of non-void function [-Wreturn-type]
   17 |         sz[u]+=sz[v];
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...