#include "bits/stdc++.h"
#include "worldmap.h"
using namespace std;
vector<vector<int>> create_map(int N, int M, vector<int> A, vector<int> B)
{
vector<std::vector<int>> ans(4 * N, vector<int>(4 * N, 1));
if (M == 0)
return ans;
vector<int> vis(N + 1);
vector<vector<int>> g(N + 1);
for (int i = 0; i < M; i++)
g[A[i]].push_back(B[i]);
for (int i = 0; i < M; i++)
g[B[i]].push_back(A[i]);
int line = 0;
auto dfs = [&](auto dfs, int node) -> void
{
vis[node] = 1;
for (int i = 0; i < 3; i++)
for (int j = 0; j < 4 * N; j++)
ans[i + line][j] = node;
int off = 0;
for (auto &x : g[node])
{
ans[line + 1][off] = x;
off += 2;
}
line += 3;
for (auto &x : g[node])
{
if (vis[x])
continue;
dfs(dfs, x);
for (int j = 0; j < 4 * N; j++)
ans[line][j] = node;
line++;
}
};
int k = 1;
while (g[k].size() == 0)
k++;
dfs(dfs, k);
for (int i = line; i < 4 * N; i++)
for (int j = 0; j < 4 * N; j++)
ans[i][j] = k;
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... |