#include <bits/stdc++.h>
#include "worldmap.h"
using namespace std;
vector <int> VV;
void dfs(vector<vector<int>>& v,int mx,int node,vector<int>& visited){
VV.push_back(node);
int tt=0;
for (int i=0; i<v[node].size(); i++){
if (visited[v[node][i]]==0){
tt++;
visited[v[node][i]]=1;
dfs(v,mx,v[node][i],visited);
VV.push_back(node);
}
}
}
std::vector<std::vector<int>> create_map(int N, int M, std::vector<int> A, std::vector<int> B) {
vector<vector<int>> v(N+1);
vector<vector<int>> vt(N+1, vector<int>(N+1, 0));
for (int i=0; i<M; i++){
v[A[i]].push_back(B[i]);
vt[A[i]][B[i]]=1;
v[B[i]].push_back(A[i]);
vt[B[i]][A[i]]=1;
}
if (N==1){
return vector<vector<int>>{{1}};
}
vector<int> visited(N+1,0);
dfs(v,N,1,visited);
int ln=VV.size();
ln=2*N+VV.size();
vector <vector <int>> ans(ln, vector<int>(ln, 0));
vector <int> vvv(N+1,0);
int k=0;
for (int i=0; i<VV.size(); i++){
if (vvv[VV[i]]==1){
for (int j=0; j<ln; j++){
ans[k][j]=VV[i];
}
k++;
}
else{
vvv[VV[i]]=1;
for (int j=0; j<ln; j++){
ans[k][j]=VV[i];
}
for (int j=0; j<ln; j++){
if (j%2==1 && j<2*N){
if (vt[VV[i]][j/2+1]==1){
ans[k+1][j]=j/2+1;
}
else{
ans[k+1][j]=VV[i];
}
}
else{
ans[k+1][j]=VV[i];
}
}
for (int j=0; j<ln; j++){
ans[k+2][j]=VV[i];
}
k=k+3;
}
}
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... |