#include <bits/stdc++.h>
using namespace std;
vector<int>adj[41];
bitset<41>v,u;
int order[201],cnt,poz,x,y,t[41],parc[2][241],prc,poz1;
void dfs(int node)
{
    v[node]=1;
    cnt++;
    order[cnt]=node;
    for(auto it : adj[node])
        if(!v[it])
        {
            t[it]=node;
            dfs(it);
        }
    if(node!=1)
    {
        cnt++;
        order[cnt]=t[node];
    }
}
vector<vector<int>> create_map(int n, int m,vector<int> a, vector<int> b)
{
    vector<vector<int>>mat(3*n,vector<int>(3*n));
    cnt=0;
    prc=0;
    for(int i=0; i<n*3; ++i)
    {
        prc++;
        parc[0][prc]=i;
        parc[1][prc]=0;
    }
    for(int i=1; i<n*3; ++i)
    {
        prc++;
        parc[0][prc]=n*3-1;
        parc[1][prc]=i;
    }
    v.reset();
    u.reset();
    for(int i=0; i<m; ++i)
    {
        adj[a[i]].push_back(b[i]);
        adj[b[i]].push_back(a[i]);
    }
    dfs(1);
    poz1=-1;
    for(int i=1; i<=cnt; ++i)
    {
        poz1++;
        x=parc[0][poz1];
        y=parc[0][poz1];
        for(; x>=0 && y<n*3; x--,++y)
            mat[x][y]=order[i];
        if(!u[order[i]])
        {
            u[order[i]]=1;
            poz1++;
            x=parc[0][poz1];
            y=parc[0][poz1];
            poz=0;
            for(; x>=0 && y<n*3; x--,++y)
            {
                if(poz>=adj[order[i]].size())
                    mat[x][y]=order[i];
                else
                    mat[x][y]=adj[order[i]][poz],poz++;
            }
            x=parc[0][poz1];
            y=parc[0][poz1];
            poz1++;
            for(; x>=0 && y<n*3; x--,++y)
                mat[x][y]=order[i];
        }
    }
    for(int k=poz1+1; k<=prc; ++k)
    {
        x=parc[0][k];
        y=parc[1][k];
        for(; x>=0 && y<n*3; x--,++y)
            mat[x][y]=order[cnt];
    }
    for(int i=1; i<=n; ++i)
        adj[i].clear();
    return mat;
}
| # | 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... |