Submission #1284248

#TimeUsernameProblemLanguageResultExecution timeMemory
1284248muhammad-ahmadThe Ties That Guide Us (CEOI23_incursion)C++20
0 / 100
54 ms5368 KiB
#include <bits/stdc++.h>
#include "incursion.h"
using namespace std;

const int NN = 5e4;
vector<int> adj[NN];
int dist[NN];

void dfs(int u, int p){
	dist[u] = dist[p] + 1;
	for (auto i : adj[u]){
		if (i != p) dfs(i, u);
	}
}

vector<int> mark(vector<pair<int, int>> F, int safe){
	int n = F.size() + 1;
	for (auto [u, v] : F){
		adj[u].push_back(v);
		adj[v].push_back(u);
	}
	dist[0] = -1;
	dfs(safe, 0);
	
	vector<int> ans;
	for (int i = 1; i <= n; i++){
		ans.push_back(dist[i]);
	}
	
	return ans;
	
}

void locate(vector<pair<int, int>> F, int curr, int t) {
	int n = F.size() + 1;
	for (auto [u, v] : F){
		adj[u].push_back(v);
		adj[v].push_back(u);
	}
	while (t != 0){
		for (auto i : adj[curr]){
			int temp = visit(i);
			if (temp < t){
				curr = i;
				t = temp;
				break;
			}
		}
	}
	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...