Submission #413436

#TimeUsernameProblemLanguageResultExecution timeMemory
413436AntekbGame (IOI14_game)C++14
15 / 100
2 ms512 KiB
#include "game.h" #include<bits/stdc++.h> #define st first #define nd second using namespace std; const int N=1505; vector<int> E[N]; int E2[N][N]; int n; int r[N]; vector<pair<int, int> > span; void initialize(int _n){ n=_n; for(int i=0; i<n; i++){ r[i]=i; for(int j=0; j<i; j++){ E2[i][j]=E2[j][i]=1; } } } int find(int v){ if(r[v]==v)return v; return v=r[v]; } void Union(int u, int v){ for(int i=0; i<n; i++){ E2[u][i]+=E2[v][i]; E2[i][u]+=E2[i][v]; } r[v]=u; } int hasEdge(int u, int v) { u=find(u); v=find(v); assert(u!=v); E2[u][v]--; if(!--E2[v][u]){ Union(u, v); return 1; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...