Submission #957669

#TimeUsernameProblemLanguageResultExecution timeMemory
957669pragmatist게임 (APIO22_game)C++17
60 / 100
2964 ms33028 KiB
#include "game.h"
#include <bits/stdc++.h>

using namespace std;

vector<int> g[30005];
bool is[1001][30005];

int n, k;

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

bool ok;

void dfs(int v, int root) {
	is[root][v] = 1;
	for(auto to : g[v]) {
		if(to == root) {
			ok = 1;
		}
		if(!is[root][to]) {
			dfs(to, root);
		}
	}
}

int add_teleporter(int u, int v) {
	if(v<=u && u<k) {
		return 1;
	}
	g[u].push_back(v);
	ok = 0;
	for(int i = 0; i < k; ++i) {
		if(is[i][u]) {
			dfs(u, i);
		}
	}
	return ok;
}
#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...