Submission #1208607

#TimeUsernameProblemLanguageResultExecution timeMemory
1208607nvujicaGame (APIO22_game)C++20
0 / 100
1 ms2624 KiB
#include "game.h" #include <bits/stdc++.h> using namespace std; const int maxn = 3e4 + 10, maxk = 1e3 + 10; bool naso = 0; int k; int bio[maxn][maxk]; int bio2[maxn][maxk]; vector <int> adj[maxn]; vector <int> adj2[maxn]; void dfs(int x, int poc){ bio[poc][x] = 1; for(auto x2: adj[x]){ if(bio[poc][x2]) continue; dfs(x2, poc); } } void dfs2(int x, int kraj){ bio2[kraj][x] = 1; for(auto x2: adj2[x]){ if(bio2[kraj][x2]) continue; dfs2(x2, kraj); } } void init(int n, int K){ k = K; for(int i = 0; i < k; i++){ for(int j = i; j < k; j++){ bio[i][j] = 1; bio2[j][i] = 1; } if(i + 1 != k){ adj[i].push_back(i + 1); adj2[i + 1].push_back(i); } } } int add_teleporter(int u, int v) { for(int i = 0; i < k; i++){ if(bio[i][u] && bio2[i][v]) return 1; if(!bio[i][u]) continue; if(!bio[i][v]) dfs(v, i); } for(int i = 0; i < k; i++){ if(!bio2[i][v]) continue; if(!bio[i][u]) dfs2(u, i); } 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...