Submission #1201886

#TimeUsernameProblemLanguageResultExecution timeMemory
1201886KavelmydexGame (APIO22_game)C++20
0 / 100
0 ms432 KiB
/*
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);
  cyc=0;
}
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 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...