제출 #263911

#제출 시각아이디문제언어결과실행 시간메모리
263911daniel920712Game (IOI14_game)C++14
42 / 100
1075 ms764 KiB
#include "game.h" #include <vector> using namespace std; int con=0,a,b,ok=0; int Father[1505]; int sz[1505]; vector < pair < int , int > > all; int Find(int here) { if(Father[here]==here) return here; Father[here]=Find(Father[here]); return Father[here]; } void initialize(int n) { int i; for(i=0;i<n;i++) { Father[i]=i; sz[i]=1; } return ; } int hasEdge(int u, int v) { int con=0; if(Find(u)==Find(v)) return 0; all.push_back(make_pair(u,v)); for(auto i:all) { if(Find(i.first)==Find(u)&&Find(i.second)==Find(v)) con++; if(Find(i.first)==Find(v)&&Find(i.second)==Find(u)) con++; } if(con==sz[Find(u)]*sz[Find(v)]) { sz[Find(u)]+=sz[Find(v)]; Father[Find(v)]=Find(u); return 1; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...