Submission #1232752

#TimeUsernameProblemLanguageResultExecution timeMemory
1232752antonnBeech Tree (IOI23_beechtree)C++20
Compilation error
0 ms0 KiB
// #include "beechtree.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 2e5 + 7; int n, m; vector<int> g[N]; int col[N], ok[N], par[N]; set<int> s[N]; int sz[N], d[N]; void dfs(int u) { for (auto v : g[u]) { dfs(v); } if (g[u].size() == 0) { ok[u] = 1; return; } if (u != 0) { set<int> children; for (auto v : g[u]) children.insert(col[v]); if (children.size() == g[u].size()) ok[u] = 1; } else { set<int> children; for (auto v : g[u]) children.insert(col[v]); if (children.size() != g[u].size()) ok[u] = 0; for (auto v : g[u]) if (ok[v] == 0) ok[u] = 0; } } vector<int> beechtree(int N, int M, vector<int> P, vector<int> C) { n = N; m = M; for (int i = 0; i < n; ++i) { par[i] = P[i]; if (i > 0) { g[P[i]].push_back(i); } } map<int, int> f; ok[0] = 1; for (int i = 0; i < n; ++i) { col[i] = C[i]; f[col[i]]++; } int cnt = 0; for (auto x : f) { if (x.second > 2) { ok[0] = 0; } } dfs(0); vector<int> ret(n); for (int i = 0; i < n; ++i) ret[i] = ok[i]; return ret; } int main() { ios::sync_with_stdio(false); cin.tie(0); int n, m; cin >> n >> m; vector<int> p(n); for (int i = 0; i < n; ++i) cin >> p[i]; vector<int> c(n); for (int i = 0; i < n; ++i) cin >> c[i]; vector<int> res = beechtree(n, m, p, c); for (int i = 0; i < n; ++i) cout << res[i] << " "; cout << "\n"; return 0; }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccRRdsRf.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccvHtDYx.o:beechtree.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status