Submission #595460

#TimeUsernameProblemLanguageResultExecution timeMemory
595460mosiashvililukaGame (IOI14_game)C++14
100 / 100
371 ms17604 KiB
#include<bits/stdc++.h> #include "game.h" using namespace std; int a,b,c,d,e,i,j,ii,jj,zx,xc,k[1509][1509],msh[1509],zm[1509]; void initialize(int Nn) { a=Nn; for(i=1; i<a; i++){ for(j=i+1; j<=a; j++){ k[i][j]=k[j][i]=1; } } for(i=1; i<=a; i++){ msh[i]=i;zm[i]=1; } } int fnd(int q){ if(msh[q]==q) return q; else return msh[q]=fnd(msh[q]); } int hasEdge(int Uu, int Vv) { c=Uu+1;d=Vv+1; c=fnd(c);d=fnd(d); k[c][d]--;k[d][c]--; if(k[c][d]==0){ if(zm[c]<zm[d]) swap(c,d); msh[d]=c; if(zm[c]==zm[d]) zm[c]++; for(i=1; i<=a; i++){ k[c][i]+=k[d][i]; k[i][c]+=k[i][d]; } return 1; }else{ return 0; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...