#include <bits/stdc++.h>
using namespace std;
#define lf "\n"
#define ff endl
#define _ << ' ' <<
#define all(x) begin(x),end(x)
#define rall(x) rbegin(x),rend(x)
#define infos(str) do { fprintf(stderr, str"\n"); } while(0)
#define infor(str, ...) do { fprintf(stderr, str, __VA_ARGS__); } while(0)
#define infof(str, ...) do { fprintf(stderr, str"\n", __VA_ARGS__); } while(0)
#ifndef DEBUG
#undef infos
#undef infor
#undef infof
#define infos(str)
#define infor(str, ...)
#define infof(str, ...)
#endif
using ll = long long;
constexpr int LOG = 20;
constexpr int MOD = 1e9+7;
constexpr int MAXN = 1e5+7;
std::vector<std::vector<int>> create_map(int N, int M,
std::vector<int> A, std::vector<int> B) {
if(N == 1) return {{1}};
vector<vector<int>> adj(N + 1);
for(int i = 0; i < M; ++i) {
adj[A[i]].push_back(B[i]);
adj[B[i]].push_back(A[i]);
}
vector<bool> vis(N + 1);
vector<int> tour;
auto dfs = [&](int v, auto &&dfs) -> void {
tour.push_back(v);
vis[v] = 1;
for(auto u: adj[v]) {
if(vis[u]) continue;
dfs(u, dfs);
tour.push_back(v);
}
};
dfs(1, dfs);
tour.resize(2 * N, 1);
fill(all(vis), 0);
vector<vector<int>> ans(4 * N, vector<int>(4 * N));
int r = 0;
for(int i = 0; i < 2 * N; ++i) {
int v = tour[i];
fill(all(ans[r]), v), r++;
if(vis[v]) continue;
vis[v] = 1;
fill(all(ans[r]), v);
int c = 0;
for(auto u: adj[v])
ans[r][c] = u, c += 2;
r++;
fill(all(ans[r]), v), r++;
}
return ans;
}
# | 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... |