#include "worldmap.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> adj[45];
vector<int> et;
vector<bool> visited(45);
void dfs(int s, int e){
visited[s] = true;
et.push_back(s);
for(auto u : adj[s]){
if(u == e) continue;
if(visited[u]) continue;
dfs(u, s);
et.push_back(s);
}
}
vector<vector<int>> create_map(int N, int M, vector<int> A, vector<int> B){
for(int i = 0; i < 45; i++){
adj[i].clear();
}
et.clear();
for(int i = 0; i < 45; i++){
visited[i] = false;
}
for(int i = 0; i < M; i++){
adj[A[i]].push_back(B[i]);
adj[B[i]].push_back(A[i]);
}
dfs(1, -1);
vector<vector<int>> ans(2*et.size() + 1, vector<int>(2*et.size() + 1));
int cnt = 0;
vector<bool> processed(N + 1, false);
for(int i = 0; i < et.size(); i++){
for(int j = 0; j < 2*et.size() + 1; j++){
ans[cnt][j] = et[i];
}
if(processed[et[i]] == false){
for(int j = 0; j < 2*et.size() + 1; j++){
ans[cnt + 1][j] = et[i];
}
for(int j = 0; j < 2*et.size() + 1; j++){
ans[cnt + 2][j] = et[i];
}
for(int j = 0; j < 2*adj[et[i]].size(); j += 2){
ans[cnt + 1][j] = adj[et[i]][j/2];
}
cnt += 3;
processed[et[i]] = true;
}
else{
cnt++;
}
}
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... |