/*
O(m * k * (n+m))
============================
============================
*/
#include "game.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define vi vector<int>
#define pb push_back
const int N=5e5+10;
vi adj[N][2];
bool vis[N][2];
int n,k;
void init(int cn, int ck){
n=cn,k=ck;
for(int i=0;i+1<k;++i){
vis[i][0]=vis[i][1]=1;
}
vis[k-1][0]=vis[k-1][1]=1;
}
void dfs(int x,int j){
vis[x][j]=1;
for(int i:adj[x][j])if(!vis[i][j]) dfs(i,j);
}
int add_teleporter(int u, int v){
adj[u][0].pb(v);
adj[v][1].pb(u);
if(vis[u][0]) dfs(u,0);
if(vis[v][1]) dfs(v,1);
return (vis[u][0]&&vis[v][1]);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |