Submission #1272008

#TimeUsernameProblemLanguageResultExecution timeMemory
1272008thuhienneGame (IOI14_game)C++20
0 / 100
1 ms340 KiB
#include "game.h" int root[1509],size[1509],edge[1509][1509],n; //root i: dsu bth //edge i j: da co bao nhieu canh duoc hoi giua 2 tplt co i lam root va j lam root void initialize(int _n) { n = _n; for (int i = 0;i < n;i++) root[i] = i,size[i] = 1; } int getroot(int node) { return (node == root[node] ? node : root[node] = getroot(root[node])); } int hasEdge(int u, int v) { int ru = getroot(u),rv = getroot(v); edge[ru][rv]++;edge[rv][ru]++; if (edge[ru][rv] == size[ru] * size[rv]) { root[ru] = rv; for (int i = 0;i < n;i++) { edge[i][rv] += edge[i][ru]; edge[rv][i] += edge[ru][i]; } return 1; } else return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...