/*
O(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=1005;
vi adj[N];
bool cyc,vis[N];
int n,k;
void init(int cn, int ck){
n=cn,k=ck;
for(int i=0;i+1<k;++i) adj[i].pb(i+1);
}
void dfs(int x){
vis[x]=1;
for(int i:adj[x])if(!vis[i]) dfs(i);
}
bool find(int x,int y){
for(int i=0;i<n;++i)vis[i]=0;
dfs(y);
if(vis[x])return 1;
return 0;
}
int add_teleporter(int u, int v){
if(v<=u && v<k && u<k) cyc=1;
if(cyc) return 1;
adj[u].pb(v);
for(int i=0;i<k;++i){
for(int j:adj[i]){
if(find(i,j)){
cyc=1;
return 1;
}
}
}
return 0;
}
# | 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... |