Submission #982825

#TimeUsernameProblemLanguageResultExecution timeMemory
982825alo_54Game (APIO22_game)C++17
30 / 100
4005 ms3660 KiB
#include "game.h" #include <bits/stdc++.h> using namespace std; struct Nodo { vector <int> ady; bool special = false; }; vector <Nodo> g; vector <bool> vis; bool acPos = 0; int K; void dfs(int node, int start) { //cout<<"call "<<node<<endl; vis[node] = true; for (auto i : g[node].ady) { //cout<<"check "<<i<<endl; if (!vis[i]) { //cout<<"check "<<i<<endl; dfs(i, start); }else { if (i == start) { acPos = true; } } } } void init(int n, int k) { vis.resize(n); g.resize(n); K = k; for (int i = 0; i < k; i++) { g[i].special = true; if (i != k-1) { g[i].ady.push_back(i+1); } } } int add_teleporter(int u, int v) { fill(vis.begin(), vis.end(), false); g[u].ady.push_back(v); if (!acPos) { for (int i = K - 1; i >= 0; i--) { dfs(i, i); } } return acPos; }
#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...