Pagini recente » Cod sursa (job #1080869) | Cod sursa (job #1029969) | Cod sursa (job #309439) | Cod sursa (job #1800568) | 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;
}