#include "worldmap.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef map<ll, ll> mp;
typedef pair<ll, ll> pll;
typedef queue<ll> qi;
typedef vector<ll> vi;
typedef vector <vi> vvi;
typedef vector <pll> vpl;
typedef vector <string> vs;
#define YES cout<<"YES\n"
#define Yes cout<<"Yes\n"
#define NO cout<<"NO\n"
#define No cout<<"No\n"
#define f first
#define s second
#define pb push_back
#define all(x) begin(x), end(x)
vector<vector<int>> create_map(int N, int M, vector<int> A, vector<int> B) {
int n, m;
vector<int> a, b;
n=N;
m=M;
a=A;
b=B;
vector<vector<int>> ans;
vector<vector<int>> con(n+1);
vector<bool> vis(n+1);
vector<int> etour;
if(n==1) return {{1}};
for(ll i=0; i<m; i++){
//a[i]--, b[i]--;
con[a[i]].pb(b[i]);
con[b[i]].pb(a[i]);
}
auto dfs=[&](int v, auto &&dfs) -> void {
etour.pb(v);
vis[v]=1;
for(auto u: con[v]) {
if(vis[u]) continue;
dfs(u, dfs);
etour.pb(v);
}
};
dfs(1, dfs);
etour.resize(2*n, 1);
vector<bool> vis2(n+1, false);
ans=vector<vector<int>> (4*n, vector<int>(4*n));
int q=0;
for(int i=0; i<2*n; i++){
int v=etour[i];
for(ll j=0; j<ans[q].size(); j++) ans[q][j]=v;
q++;
if(vis2[v]) continue;
vis2[v]=1;
for(ll j=0; j<ans[q].size(); j++) ans[q][j]=v;
int h=0;
for(auto u: con[v]) ans[q][h]=u, h+=2;
q++;
for(ll j=0; j<ans[q].size(); j++) ans[q][j]=v;
q++;
}
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... |