# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
983022 | Muhammad_Aneeq | Mars (APIO22_mars) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
// #include "game.h"
#include <vector>
#include <set>
using namespace std;
int N,K;
int const MAXN=300000+10;
set<int>nei[MAXN]={};
bool vis[MAXN]={};
void init(int n, int k)
{
N=n,K=k;
for (int i=0;i<k-1;i++)
nei[i].insert(i+1);
}
bool check_cycle(int n)
{
vis[n]=1;
for (auto i:nei[n])
{
if (vis[i]&&i<K)
return 1;
if (vis[i])
continue;
if (check_cycle(i))
return 1;
}
vis[n]=0;
return 0;
}
int add_teleporter(int u, int v)
{
nei[u].insert(v);
for (int i=0;i<N;i++)
{
if (check_cycle(i)) return 1;
}
return 0;
}