#include <bits/stdc++.h>
using namespace std;
vector<int>adj[41];
bitset<41>v,u;
int order[81],cnt,poz,x,y;
void dfs(int node)
{
v[node]=1;
cnt++;
order[cnt]=node;
for(auto it : adj[node])
if(!v[it])
dfs(it);
cnt++;
order[cnt]=node;
}
vector<vector<int>> create_map(int n, int m,vector<int> a, vector<int> b)
{
vector<vector<int>>mat(4*n,vector<int>(4*n));
cnt=0;
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);
x=-1;
for(int i=1; i<=cnt; ++i)
{
x++;
y=0;
for(; y<n*4; ++y)
mat[x][y]=order[i];
if(!u[order[i]])
{
x++;
y=0;
poz=0;
for(; y<n*4; ++y)
{
if(poz==adj[order[i]].size() || y%2)
mat[x][y]=order[i];
else
mat[x][y]=adj[order[i]][poz],poz++;
}
y=0;
x++;
for(; y<n*4; ++y)
mat[x][y]=order[i];
}
}
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... |