Submission #1299211

#TimeUsernameProblemLanguageResultExecution timeMemory
1299211scalifrastico_098Game (IOI14_game)C++20
0 / 100
1095 ms332 KiB
#include "game.h" #include <bits/stdc++.h> using namespace std; const int y=1500; int rt[y], ik=0; struct DSU { vector<int> t, p; DSU(int n) { t.assign(n, 1); p.resize(n); iota(p.begin(), p.end(), 0); } int find(int x) { if(x==p[x])return x; return p[x]=find(p[x]); } bool uni(int x, int y) { int a=find(x), b=find(y); if(a==b)return true; if(t[a]<t[b]) swap(a, b); t[a]+=t[b]; p[b]=a; } }; DSU r(1500); void initialize(int n) { for(int i=0; i<n; i++){if(i%2==0)rt[i]=0; else rt[i]=1;} ik=n-2; } int hasEdge(int u, int v) { if(r.find(u)!=r.find(v)&&ik>0){ r.uni(u, v); ik--; return 1;} return rt[max(u, v)]; }

Compilation message (stderr)

game.cpp: In member function 'bool DSU::uni(int, int)':
game.cpp:20:25: warning: control reaches end of non-void function [-Wreturn-type]
   20 |         t[a]+=t[b]; p[b]=a;
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...