#include "worldmap.h"
#include <bits/stdc++.h>
using namespace std;
using grid = vector<vector<int>>;
vector<int> links[40];
vector<vector<int>> euleur_tour;
bool mem[40];
int K;
void uniform_line(int i){
euleur_tour.push_back({});
euleur_tour[euleur_tour.size()-1].resize(K, i +1);
}
void dfs(int node){
uniform_line(node);
mem[node] = true;
for(int u:links[node]){
if(mem[u])continue;
dfs(u);
uniform_line(node);
}
}
grid create_map(int N, int M, std::vector<int> A, std::vector<int> B) {
for(int i = 0 ; i < N ; i++)links[i].clear();
euleur_tour.clear();
K = 2*N-1;
fill(mem, mem+40,false);
grid ans(K, std::vector<int>(K, 1));
for(int i = 0 ; i < M ; i++){
A[i]--;
B[i]--;
links[A[i]].push_back(B[i]);
links[B[i]].push_back(A[i]);
}
dfs(0);
cerr << N << " " << euleur_tour.size() << endl;
//assert(euleur_tour.size()==2*N-2);
for(int i =0 ; i < euleur_tour.size() ;i++){
ans[i] = euleur_tour[i];
}
//TODO penser au plus 1 partout pour les valeurs
for(int i = euleur_tour.size(); i < K ; i++){
ans[i] = ans[euleur_tour.size()-1];
}
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... |