Submission #315502

#TimeUsernameProblemLanguageResultExecution timeMemory
315502qpwoeirutGame (IOI14_game)C++17
15 / 100
1 ms512 KiB
#include "game.h" const int MN = 1501; int N; int mat[MN][MN]; int ct[MN]; int alone[MN]; int edges, q; void initialize(int n) { N = n; edges = N-1; q = (N * (N-1)) / 2; for (int i=0; i<N; ++i) { for (int j=0; j<N; ++j) { mat[i][j] = -1; } ct[i] = 0; mat[i][i] = 1; alone[i] = true; } } int hasEdge(int u, int v) { if (mat[u][v] != -1) return mat[u][v]; ++ct[u]; ++ct[v]; --q; mat[u][v] = (ct[u] == N-1) || (ct[v] == N-1); if (alone[u] && alone[v]) { } if (q < edges) mat[u][v] = true; if (mat[u][v]) { --edges; alone[u] = alone[v] = false; } mat[v][u] = mat[u][v]; return mat[u][v]; } /* 4 2 3 1 3 0 2 0 1 1 2 0 3 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...