#include <bits/stdc++.h>
using namespace std;
vector<int> adj[41];
bool vis[41];
vector<vector<int>> dfs(int s, int u) {
vis[u] = true;
vector<vector<int>> G;
auto r = vector<int>(s, u);
G.push_back(r);
G.emplace_back(s, u);
int p = 0;
for (int v : adj[u]) {
G.back()[p] = v;
p += 2;
}
G.push_back(r);
for (int v : adj[u]) if (!vis[v]) {
for (auto _ : dfs(s, v))
G.push_back(_);
G.push_back(r);
}
return G;
}
vector<vector<int>> create_map(int N, int M,
vector<int> A, std::vector<int> B) {
for (int i = 1; i <= N; i++) {
adj[i].clear();
vis[i] = false;
}
int s = 4*N - 1;
for (int i = 0; i < M; i++) {
adj[A[i]].push_back(B[i]);
adj[B[i]].push_back(A[i]);
}
auto G = dfs(s, 1);
return G;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |