Submission #1315433

#TimeUsernameProblemLanguageResultExecution timeMemory
1315433ezzzayWorld Map (IOI25_worldmap)C++20
29 / 100
22 ms3168 KiB
#include <bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back

vector<int> adj[50];
vector<int> rt;
map<pair<int,int>, bool> vis;

void dfs(int a, int p){
	vis[{a,p}] = 1;
	vis[{p,a}] = 1;
	for (auto b : adj[a]) {
		if (vis[{a,b}]) continue;
		rt.pb(a);
		dfs(b, a);
	}
	rt.pb(a);
}

std::vector<std::vector<int>> create_map(int N, int M, std::vector<int> A, std::vector<int> B) {
	vis.clear();
	for (int i = 1; i <= N; i++) adj[i].clear();
	for (int i = 0; i < M; i++) {
		adj[A[i]].pb(B[i]);
		adj[B[i]].pb(A[i]);
	}
	rt.clear();
	dfs(1, 0);
	int h = rt.size();
	vector<vector<int>> v(h, vector<int>(h));
	for (int i = 0; i < h; i++) {
		for (int j = 0; j < h; j++) {
			v[i][j] = v[j][i] = rt[i];
		}
	}
	return v;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...