Submission #488718

#TimeUsernameProblemLanguageResultExecution timeMemory
488718Drew_Game (IOI14_game)C++17
0 / 100
1 ms204 KiB
#include "game.h" #include <bits/stdc++.h> using namespace std; #define ii pair<int, int> constexpr int MAX = 1569; int n; int ds[MAX]; bool dead[MAX][MAX] = {}; inline int frep(int x) { return ds[x] == x ? x : ds[x] = frep(ds[x]); } inline void join(int x, int y) { ds[frep(x)] = frep(y); } void initialize(int N) { n = N; for (int i = 0; i < n; ++i) for (int j = i+1; j < n; ++j) dead[i][j] = false; } int hasEdge(int u, int v) { if (u > v) swap(u, v); for (int i = 0; i < n; ++i) ds[i] = i; dead[u][v] = true; for (int i = 0; i < n; ++i) for (int j = i+1; j < n; ++j) if (!dead[i][j]) join(i, j); for (int i = 1; i < n; ++i) { if (frep(1) != frep(i)) { dead[u][v] = false; return 1; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...