#include "worldmap.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
vector<vector<int>> G;
vector<int> order, visited;
void dfs(int v) {
order.pb(v);
visited[v] = true;
for (auto u : G[v]) {
if (visited[u]) continue;
dfs(u);
order.pb(v);
}
}
std::vector<std::vector<int>> create_map(int N, int M, std::vector<int> A, std::vector<int> B) {
G = vector<vector<int>>(N);
for (int i = 0; i < M; i++) {
G[A[i]-1].push_back(B[i]-1);
G[B[i]-1].push_back(A[i]-1);
}
order = vector<int>();
visited = vector<int>(N);
dfs(0);
std::vector<std::vector<int>> ans(2*N + order.size() - N, std::vector<int>(2*N + order.size() - N, 1));
visited = vector<int>(N);
int idx = 0;
for (int j = 0; j < order.size(); j++) {
int x = order[j];
if (visited[x]) {
if (ans[idx-1][0] == order[j-1]+1) {
for (int i = 0; i < ans.size(); i++) {
if (i % 2 == 0)
ans[idx][i] = x+1;
else
ans[idx][i] = order[j-1]+1;
}
} else {
for (int i = 0; i < ans.size(); i++) {
if (i % 2 == 1)
ans[idx][i] = x+1;
else
ans[idx][i] = order[j-1]+1;
}
}
// for (int i = 0; i < ans.size(); i++) {
// if (ans[idx-1][i] == order[j-1]+1)
// ans[idx][i] = x+1;
// else
// ans[idx][i] = order[j-1]+1;
// }
idx++;
continue;
}
visited[x] = true;
for (int i = 0; i < ans.size(); i++) {
ans[idx][i] = x+1;
ans[idx+1][i] = x+1;
}
if (j != 0) {
if (ans[idx-1][0] != order[j-1]+1) {
for (int i = 0; i < ans.size(); i+=2) {
ans[idx][i] = order[j-1]+1;
}
} else {
for (int i = 1; i < ans.size(); i+=2) {
ans[idx][i] = order[j-1]+1;
}
}
// for (int i = 0; i < ans.size(); i++) {
// if (ans[idx-1][i] != order[j-1]+1)
// ans[idx][i] = order[j-1]+1;
// }
}
if (ans[idx][0] != order[j-1]+1) {
int curr = 0;
for (auto u : G[x]) {
ans[idx+1][curr] = u+1;
curr += 2;
}
} else {
int curr = 1;
for (auto u : G[x]) {
ans[idx+1][curr] = u+1;
curr += 2;
}
}
// int curr = 0;
// for (auto u : G[x]) {
// if (ans[idx][curr] != order[j-1]+1) {
// ans[idx+1][curr] = u+1;
// ans[idx+1][curr+1] = x+1;
// } else {
// ans[idx+1][curr+1] = u+1;
// ans[idx+1][curr] = x+1;
// }
// curr += 2;
// }
idx += 2;
}
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... |