Submission #1230292

#TimeUsernameProblemLanguageResultExecution timeMemory
1230292vladiliusBeech Tree (IOI23_beechtree)C++20
0 / 100
2090 ms43712 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using pii = pair<int, int>; #define pb push_back #define ff first #define ss second vector<int> beechtree(int n, int m, vector<int> p, vector<int> c){ vector<int> g[n]; for (int i = 1; i < n; i++) g[p[i]].pb(i); vector<int> all[n]; function<void(int, int)> dfs = [&](int v, int d){ all[d].pb(v); for (int i: g[v]){ if (i != p[v]){ dfs(i, d + 1); } } }; vector<int> out; for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++) all[j].clear(); dfs(i, 0); vector<int> o, cc(m + 1); bool I = 1; for (int d = 0; d < n; d++){ for (int y: all[d]){ o.pb(y); } } for (int j = 1; j < o.size(); j++){ if (o[cc[c[o[j]]]] != p[o[j]]){ I = 0; break; } cc[c[o[j]]]++; } out.pb(I); } return out; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...