Submission #1258179

#TimeUsernameProblemLanguageResultExecution timeMemory
1258179stapanulocu1World Map (IOI25_worldmap)C++20
5 / 100
6 ms1352 KiB
#include <bits/stdc++.h> using namespace std; const int NR = 42; vector<int> v[NR]; bool done[NR]; int n, m, res[NR * 10][NR * 10], lines; void fill(int node) { int nr = 0; for (int i = 0; i < v[node].size(); ++i) { res[lines][nr] = v[node][i]; res[lines][nr + 1] = node; nr += 2; } for (int i = nr; i < NR * 10; ++i) res[lines][i] = node; ++lines; for (int i = 0; i < NR * 10; ++i) res[lines][i] = node; ++lines; } void solve(int node) { done[node] = 1; for (int i = 0; i < NR * 10; ++i) res[lines][i] = node; ++lines; fill(node); bool did = false; for (int i = 0; i < v[node].size(); ++i) { if (!done[v[node][i]]) { did = true; solve(v[node][i]); } } if (!did) return; for (int i = 0; i < NR * 10; ++i) res[lines][i] = node; ++lines; } vector<vector<int>> create_map(int N, int M, vector<int> A, vector<int> B) { n = N; m = M; for (int i = 0; i < n; ++i) { v[i].clear(); done[i] = 0; } lines = 0; for (int i = 0; i < m; ++i) { v[A[i]].push_back(B[i]); } solve(1); vector<vector<int>> re; for (int i = 0; i < lines; ++i) { vector<int> a; re.push_back(a); for (int j = 0; j < lines; ++j) { re[i].push_back(res[i][j]); } } return re; }
#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...