Submission #1315432

#TimeUsernameProblemLanguageResultExecution timeMemory
1315432ezzzayWorld Map (IOI25_worldmap)C++20
Compilation error
0 ms0 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();
	// Start DFS from node 1 (as in your template). If graph is disconnected,
	// this will only traverse the component containing 1.
	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;
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	int T;
	if (!(cin >> T)) return 0;
	for (int tc = 0; tc < T; ++tc) {
		int N, M;
		cin >> N >> M;
		vector<int> A(M), B(M);
		for (int i = 0; i < M; ++i) cin >> A[i] >> B[i];

		auto C = create_map(N, M, A, B);
		int P = (int)C.size();
		cout << P << "\n";
		// print row lengths Q[0] Q[1] ... Q[P-1]
		for (int i = 0; i < P; ++i) {
			if (i) cout << " ";
			cout << (int)C[i].size();
		}
		cout << "\n\n"; // blank line as in output format
		for (int i = 0; i < P; ++i) {
			for (int j = 0; j < (int)C[i].size(); ++j) {
				if (j) cout << " ";
				cout << C[i][j];
			}
			cout << "\n";
		}
		if (tc + 1 < T) cout << "\n";
	}
	return 0;
}

Compilation message (stderr)

/usr/bin/ld: /tmp/cc4Bv2J2.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccWtNwZY.o:worldmap.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status