Submission #942134

#TimeUsernameProblemLanguageResultExecution timeMemory
942134sysiaGame (APIO22_game)C++17
30 / 100
4033 ms9960 KiB
//Sylwia Sapkowska
#include "game.h"
#include <bits/stdc++.h>
#pragma GCC optimize("O3", "unroll-loops")
using namespace std;

void __print(int x) {cerr << x;}
void __print(long long x) {cerr << x;}
void __print(long double x) {cerr << x;}
void __print(char x) {cerr << "'" << x << "'";}
void __print(const char *x) {cerr << '"' << x << '"';}
void __print(const string &x) {cerr << '"' << x << '"';}
void __print(bool x) {cerr << (x ? "true" : "false");}

template<typename T, typename V>
void __print(const pair<T, V> &x) {cerr << '{'; __print(x.first); cerr << ", "; __print(x.second); cerr << '}';}
template<typename T>
void __print(const T &x) {int f = 0; cerr << '{'; for (auto &i: x) cerr << (f++ ? ", " : ""), __print(i); cerr << "}";}
void _print() {cerr << "]\n";}
template <typename T, typename... V>
void _print(T t, V... v) {__print(t); if (sizeof...(v)) cerr << ", "; _print(v...);}
#ifdef LOCAL
#define debug(x...) cerr << "[" << #x << "] = ["; _print(x)
#else
#define debug(x...)
#endif

typedef pair<int, int> T;
const int oo2 = 1e9+7, K = 30;
const int mod = 998244353;
const int mx = 3e5+7;
int n, k;
vector<int>g[mx];
vector<int>vis;

void init(int _n, int _k) {
	n = _n, k = _k;
	for (int i = 0; i<=k-2; i++){
		debug(i, i+1);
		g[i].emplace_back(i+1);
	}
}

bool dfs(int v){
	vis[v] = 1;
	debug(v);
	for (auto x: g[v]){
		if (vis[x] == 1){
			if (x < k) {
				return true;
			} 
		} else if (!vis[x]) {
			if (dfs(x)) {
				return true;
			}
		}
	}
	vis[v] = 2;
	return false;
}


int add_teleporter(int u, int v) {
	debug(u, v);
	g[u].emplace_back(v);
	vis.assign(n, 0);
	auto curr = dfs(0);
	return (int)curr;
}
#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...