Pagini recente » Cod sursa (job #219157) | Cod sursa (job #997020) | Cod sursa (job #2365037) | Cod sursa (job #2485960) | Cod sursa (job #1989631)
#include<fstream>
#include<vector>
using namespace std;
#define MAX_NODES 100001
vector <int> graph[MAX_NODES];
int checked[MAX_NODES];
void dfs(int x){
vector<int>::iterator it;
checked[x]=1;
for(it=graph[x].begin(); it!=graph[x].end(); it++){
if(checked[*it]==0) dfs(*it);
}
}
int main(){
ifstream in; ofstream out;
in.open("dfs.in"); out.open("dfs.out");
out.clear();
int i,x,y,n,m,no=0;
in>>n>>m;
for(i=0;i<m;i++){
in>>x>>y;
graph[x].push_back(y);
}
for(i=1;i<=n;i++){
if(checked[i]==0) {
dfs(i);
no++;
}
}
out<<no;
in.close(); out.close();
return 0;
}