Submission #1202149

#TimeUsernameProblemLanguageResultExecution timeMemory
1202149dzuizzGame (APIO22_game)C++20
0 / 100
2 ms4928 KiB
#include "game.h" #include <bits/stdc++.h> using namespace std; constexpr int N=1e5+5; vector<int> g[N],tg[N]; int n,k; void init(int _n, int _k) { n=_n,k=_k; for(int i=0;i<k-1;++i){ g[i].emplace_back(i+1); tg[i+1].emplace_back(i); } } int add_teleporter(int u, int v) { g[u].emplace_back(v); tg[v].emplace_back(u); int mini=INT_MAX,maxi=-1; // find min goto bool vi[n]; memset(vi,0,sizeof vi); queue<int> q; q.emplace(v); vi[u]=1; while(q.size()){ int i=q.front(); q.pop(); if(i<k) mini=min(mini,i); for(auto&j:g[i]) if(!vi[j]){ q.emplace(j); vi[j]=1; } } // find max comefrom memset(vi,0,sizeof vi); q.emplace(u); vi[u]=1; while(q.size()){ int i=q.front(); q.pop(); if(i<k) maxi=max(maxi,i); for(auto&j:tg[i]) if(!vi[j]){ q.emplace(j); vi[j]=1; } } //cerr<<mini<<" "<<maxi<<'\n'; return mini <= maxi; }
#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...