Submission #871518

#TimeUsernameProblemLanguageResultExecution timeMemory
871518TAhmed33Speedrun (RMI21_speedrun)C++17
0 / 100
3525 ms1264 KiB
#include <bits/stdc++.h>
#include "speedrun.h"
using namespace std;
void assignHints (int subtask, int n, int a[], int b[]) {
	setHintLen(n);
	bool adj[n + 1][n + 1]; memset(adj, 0, sizeof(adj));
	for (int i = 1; i < n; i++) {
		adj[a[i]][b[i]] = adj[b[i]][a[i]] = 1;
	}
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			setHint(i, j, adj[i][j]);
		}
	}
	return;
}
int adj[1001][1001];
int n;
void dfs (int pos, int par) {
	for (int j = 1; j <= n; j++) {
		if (j == par || pos == j) continue;
		if (adj[pos][j] == 0) continue;
		if (adj[pos][j] == 1) {
			goTo(j); dfs(j, pos); goTo(pos);
		}
		if (adj[pos][j] == -1) {
			int x = goTo(j);
			adj[j][pos] = adj[pos][j] = x;
			if (x) {
				dfs(j, pos);
				goTo(pos);
			} 
		}
	}
}
void speedrun (int subtask, int N, int start) {
	memset(adj, -1, sizeof(adj));
	n = N;
	dfs(start, -1);
	return;
}
#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...