Pagini recente » Cod sursa (job #728340) | Cod sursa (job #651513) | Cod sursa (job #702626) | Cod sursa (job #612240) | Cod sursa (job #1227456)
#include <iostream>
#include <cstdio>
#include <vector>
const int MAX=100007;
using namespace std;
#define pb push_back
vector <int> gr[MAX];
int viz[MAX];
void dfs(int nod)
{
viz[nod] = 1 ;
for ( auto x : gr[nod] )
if ( viz[x] == 0 )
dfs(x);
}
int main()
{
freopen ("dfs.in" , "r" , stdin );
freopen ("dfs.out" , "w" , stdout );
int n , m ;
scanf ("%d %d" , &n , &m );
for ( int i = 1 ; i <=m ; ++i )
{
int x , y ;
scanf ("%d %d" , &x ,&y );
gr[x].pb( y );
}
int sol=0;
for ( int i = 1 ; i <= n ; ++i )
{
if ( viz[i] == 0 )
{
dfs(i);
++sol;
}
}
printf ("%d" , sol );
return 0;
}