#include <bits/stdc++.h>
using namespace std;
const int maxN = 1e5 + 7;
vector<int> g[maxN];
int par[maxN];
void dfs(int v) {
par[v] = -1;
for(int u : g[v]) {
dfs(u);
}
}
int solve(int N, int M, vector<int> F, vector<vector<int>> S) {
int szz = F.size();
for(int i = 1; i < szz; i++) {
par[F[i]]++;
g[F[i]].push_back(i);
}
vector<int> m = S[0];
int sz = m.size();
int sum = 0;
for(int i = 0; i < sz; i++) {
if(par[m[i]] == 0) {
par[F[m[i]]]--;
sum++;
} else if(par[m[i]] > 0) {
dfs(m[i]);
sum++;
}
}
return sum;;
}
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |