Submission #83337

#TimeUsernameProblemLanguageResultExecution timeMemory
83337farukkastamonudaGame (IOI14_game)C++14
0 / 100
2 ms556 KiB
#include "game.h" #include <bits/stdc++.h> #define li 1505 #define inf 2000001000 #define md 1000000007 #define lo long long #define fi first #define se second #define mp make_pair #define pb push_back #define ii pair<lo int,lo int> using namespace std; int A[li],vis[li],N,sz[li],fa[li]; void initialize(int n){ N=n; for(int i=1;i<=N;i++){ fa[i]=i; sz[i]=1; } } int dsu(int x){ if(fa[x]==x) return x; return fa[x]=dsu(fa[x]); } void union1(int u,int v){ if(sz[v]>sz[u]) swap(u,v); sz[u]+=sz[v]; fa[v]=u; sz[v]=0; } int hasEdge(int u,int v){ if(A[u]==N-2 && vis[u]==0){ vis[u]=1; return 1; } if(A[v]==N-2 && vis[v]==0){ vis[v]=1; return 1; } int seh1=dsu(u); int seh2=dsu(v); if(sz[seh1]+sz[seh2]==N){ A[u]++; A[v]++; return 0; } vis[u]=1; vis[v]=1; union1(u,v); return 1; } //~ int main(){ //~ return 0; //~ }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...