제출 #743741

#제출 시각아이디문제언어결과실행 시간메모리
743741Patrick게임 (APIO22_game)C++17
0 / 100
1 ms208 KiB
#include "game.h" #include <queue> #include <vector> using namespace std; int N, K; vector<bool> reach; vector<vector<int>> es; void init(int n, int k) { reach = vector<bool>(n); es = vector<vector<int>>(n); N = n, K = k; } int markreach(int u) { deque<int> q; q.push_back(u); while (q.size()) { int x = q.front(); q.pop_front(); for (int e : es[x]) { if (!reach[e]) { reach[e] = 1; q.push_back(e); if (e < K) return 1; } } } return 0; } int add_teleporter(int u, int v) { if (u == v) { return u < K; } if (u < K) { if (v < K) return 1; if (!reach[v]) { reach[v] = 1; return markreach(v); } else { return 0; } } else { if (reach[u]) { if (v < K) return 1; reach[v] = 1; return markreach(v); } else { es[u].push_back(v); return 0; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...