Submission #223723

#TimeUsernameProblemLanguageResultExecution timeMemory
223723Ruxandra985Game (IOI14_game)C++14
0 / 100
5 ms384 KiB
#include "game.h" int lft[1510] , total , ni , ok , put , taken[1510]; void initialize (int n){ for (int i = 0 ; i < n ; i++) lft[i] = n - 1; ni = n; } int root (int x){ while (taken[x]) x = taken[x]; return x; } int hasEdge (int u , int v){ int aux; if (u > v){ aux = u; u = v; v = aux; } total++; /// muchii care n au fost puse lft[u]--; lft[v]--; //if (u == 0 && v == 3) // printf ("a"); if (lft[u] == 0 && lft[v] == 0 && put == ni - 2){ //fprintf (fout , "%d %d\n" , u , v); ok = 1; put++; return 1; } if ((lft[u] == 0 || lft[v] == 0) && lft[u] != lft[v] && root(u) != root(v)){ //fprintf (fout , "%d %d\n" , u , v); taken[root(u)] = root(v); put++; return 1; } if (lft[u] > 0 && lft[v] > 0 && root(u) != root(v)){ taken[root(u)] = root(v); //fprintf (fout , "%d %d\n" , u , v); put++; return 1; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...