Submission #706549

#TimeUsernameProblemLanguageResultExecution timeMemory
706549grossly_overconfidentGame (APIO22_game)C++17
2 / 100
117 ms262144 KiB
#include "game.h" #include <bits/stdc++.h> using namespace std; vector<vector<int>> adjchart; int K, N; bool cycledetector4000(int i, int oi, bool f, vector<bool>& q, vector<bool>& dpcache){ if (!f && i == oi){ return true; } if (q[i]){ return dpcache[i]; } bool pl = false; for (int j : adjchart[i]){ pl |= cycledetector4000(j, oi, false, q, dpcache); } q[i] = true; return dpcache[i] = pl; } void init(int n, int k) { adjchart.resize(n + 10); K = k; N = n; for (int i = 0; i < k - 1; ++i){ adjchart[i].push_back(i + 1); } } int add_teleporter(int u, int v) { adjchart[u].push_back(v); vector<bool> q(N + 10); vector<bool> dpcache(N + 10); bool pl = false; for (int i = K - 1; i >= 0; --i){ pl |= cycledetector4000(i, i, true, q, dpcache); } if (pl){ return 1; } return 0; } int balls() { int n, k, m; cin >> n >> k >> m; init(n, k); for (int i = 0; i < m; ++i){ int a, b; cin >> a >> b; cout << add_teleporter(a, b) << endl; } 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...