Submission #1202868

#TimeUsernameProblemLanguageResultExecution timeMemory
1202868hengliaoGame (APIO22_game)C++20
0 / 100
7 ms15008 KiB
#include "game.h" #include<bits/stdc++.h> using namespace std; #define F first #define S second #define pb push_back #define vll vector<ll> #define pll pair<ll, ll> typedef long long ll; namespace{ const ll mxN=3e5+5; vll adj[mxN]; vll rev[mxN]; bool visited1[mxN], visited2[mxN]; void dfs1(ll cur){ if(visited1[cur]) return; visited1[cur]=1; for(auto &it:adj[cur]){ dfs1(it); } } void dfs2(ll cur){ if(visited2[cur]) return; visited2[cur]=1; for(auto &it:rev[cur]){ dfs2(it); } } } void init(int n, int k) { memset(visited1, 0, sizeof(visited1)); memset(visited2, 0, sizeof(visited2)); for(ll i=0;i<k-1;i++){ adj[i].pb(i+1); rev[i+1].pb(i); } dfs1(0); dfs2(k-1); } int add_teleporter(int u, int v) { if(visited1[u] && visited2[v]){ return 1; } adj[u].pb(v); rev[v].pb(u); if(visited1[u] && !visited1[v]){ dfs1(v); } if(visited2[v] && !visited2[u]){ dfs2(u); } 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...