#include "september.h"
#include <bits/stdc++.h>
using namespace std;
int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) {
vector<vector<int>>g(N);
for(int i=0;i<F.size();i++){
if(~F[i]){
g[F[i]].emplace_back(i);
}
}
set<int>st;
vector<int>vis(N,0);
auto dfs=[&](auto dfs,int u)->void{
vis[u]=1;
for(auto v:g[u]){
if(vis[v]){
continue;
}
st.insert(v);
dfs(dfs,v);
}
};
int ans=0;
for(int i=0;i<N-1;i++){
int cur=S[0][i];
if(st.count(cur)){
st.erase(cur);
}
else{
dfs(dfs,cur);
}
ans+=(st.empty());
}
return ans;
}
# | 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... |