#include "worldmap"
#include<bits/stdc++.h>
#define all(x) x.begin(),x.end()
using namespace std;
#define maxn 45
int n;
vector<int>adj[maxn];
int color[maxn];
int cur;
vector<vector<int>>res;
void Fill(int k,vector<int>vec)
{
sort(vec.begin(),vec.end());
vec.erase(unique(all(vec)),vec.end());
int cnt=0;
for(int i=0;i<=k;i++)
{
int x=i;
int y=k-i;
if(x>=2*n||y>=2*n)continue;
res[x][y]=vec.back();
if(vec.size()>=2)vec.pop_back();
else cnt=1;
}
if(cnt==0)assert(0);
}
void dfs(int u,int dad)
{
color[u]=1;
Fill(cur++,{u});
vector<int>que;
for(int v:adj[u])
{
if(v!=dad)
{
if(color[v])
{
que.push_back(v);
}
else
{
dfs(v,u);
Fill(cur++,{u});
}
}
}
if(que.empty())que.push_back(u);
Fill(cur++,que);
Fill(cur++,{u});
}
vector<vector<int>> create_map(int N,int m,vector<int>u,vector<int>v)
{
n=N;
cur=0;
for(int i=1;i<=n;i++)
{
color[i]=0;
adj[i].clear();
}
for(int i=0;i<m;i++)
{
adj[u[i]].push_back(v[i]);
adj[v[i]].push_back(u[i]);
}
res=vector<vector<int>>(2*n,vector<int>(2*n,0));
dfs(1,0);
return res;
}
# | 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... |