C - Straw Millionaire Editorial
by
TKTY1
DFSでもいいヨ
DFSでもいいです。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
vector<vector<int>>g(n);
for(int i=0;i<m;i++){
int a,b;
cin>>a>>b;
a--;
b--;
g[a].emplace_back(b);
}
vector<bool> ok(n);
auto dfs=[&](auto ddfs,vector<vector<int>>&g,int u,vector<bool>&ok)->void{
ok[u]=true;
for(auto v:g[u]){
if(!ok[v])ddfs(ddfs,g,v,ok);
}
};
dfs(dfs,g,0,ok);
int ans=0;
for(int i=0;i<n;i++)if(ok[i]==true)ans++;
cout<<ans<<endl;
}
posted:
last update:
