Pagini recente » Cod sursa (job #3162811) | Cod sursa (job #359853) | Cod sursa (job #66409) | Cod sursa (job #77485) | Cod sursa (job #1546979)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
vector <int> v[100000];
int n,m,cate,a,b;
bool da[100000];
void dfs ( int p ){
if ( da[p] )
return;
for ( int i=0 ; i<v[p].size() ; i++ ){
dfs(v[p][i]);
da[v[p][i]]=true;
}
}
int main()
{
fin>>n>>m;
for ( int i=1 ; i<=m ; i++ ){
fin>>a>>b;
v[a].push_back(b);
}
for ( int i=1 ; i<=n ; i++ ){
if ( !da[i] ){
dfs(i);
cate++;
}
}
fout<<cate;
}