Submission #1256550

#TimeUsernameProblemLanguageResultExecution timeMemory
1256550ThylOneWorld Map (IOI25_worldmap)C++20
15 / 100
14 ms2120 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...