Submission #759188

#TimeUsernameProblemLanguageResultExecution timeMemory
759188Dan4LifeGame (IOI14_game)C++17
42 / 100
1079 ms2892 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back int n, p[1501],sz[1501]; vector<int> v[1501]; bool chk[1501][1501]; int findSet(int i){return i==p[i]?i:p[i]=findSet(p[i]);} int unionSet(int i, int j){ int x = findSet(i), y = findSet(j); if(x==y) return 1; if(sz[x]<sz[y]) swap(x,y); for(auto u : v[y]) v[x].pb(u); v[y].clear(); p[y] = x; sz[x]+=sz[y]; return 1; } void initialize(int N){ n = N; for(int i =0; i < N; i++) p[i]=i,sz[i]=1,v[i].pb(i); } int hasEdge(int u, int vv){ int cnt = 0, x = findSet(u), y = findSet(vv); chk[u][vv]=chk[vv][u]=1; if(x==y) return 0; for(auto i : v[x]) for(auto j : v[y]) cnt+=chk[i][j]; return cnt==sz[x]*sz[y]?unionSet(u,vv):0; }

Compilation message (stderr)

game.cpp: In function 'int unionSet(int, int)':
game.cpp:12:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   12 |     for(auto u : v[y]) v[x].pb(u); v[y].clear();
      |     ^~~
game.cpp:12:36: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   12 |     for(auto u : v[y]) v[x].pb(u); v[y].clear();
      |                                    ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...