#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);
    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;
        }
        for (auto &x : g[node])
        {
            if (vis[x])
                continue;
            line += 3;
            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... |