Pagini recente » Cod sursa (job #993861) | Cod sursa (job #2179850) | Cod sursa (job #2324981) | Cod sursa (job #1826058) | Cod sursa (job #1425249)
#include <stdio.h>
#include <bitset>
#include <vector>
#define NMAX 100005
using namespace std;
vector<int> v[NMAX];
bitset <NMAX> viz;
void dfs(int i){
viz[i] = 1;
for(vector<int> :: iterator it = v[i].begin(); it != v[i].end(); ++it)
if(!viz[*it])
dfs(*it);
}
int main(){
freopen("dfs.in", "r", stdin);
freopen("dfs.out", "w", stdout);
int N, M, nr = 0, x, y;
scanf("%d %d", &N, &M);
for(int i = 1; i <= M; ++i){
scanf("%d %d", &x, &y);
v[x].push_back(y);
}
for(int i = 1; i <= N; ++i)
if(!viz[i]){
dfs(i);
++nr;
}
printf("%d\n", nr);
return 0;
}