Submission #704507

#TimeUsernameProblemLanguageResultExecution timeMemory
704507josanneo22Game (APIO22_game)C++17
30 / 100
4008 ms10808 KiB
#include "game.h"
#include <bits/stdc++.h>
using namespace std;

vector<int> adj[300006];
int n, k;
void init(int N, int K) {
	n = N; k = K;
	for(int i=0;i<k-1;i++) adj[i].push_back(i + 1);
}

int vis[300006];
bool dfs(int i) {
	if (vis[i] == 2) return true;
	if (vis[i] == 1) return i >= k;
	vis[i] = 1;
	for(auto j:adj[i])
	{
		if (!dfs(j)) return false;
	}
	vis[i] = 2;
	return true;
}

int add_teleporter(int u, int v)
{
	memset(vis, 0, sizeof(vis));
	adj[u].push_back(v);
	bool ok = dfs(0);
	return ok ? 0 : 1;
}
#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...