Pagini recente » Cod sursa (job #2293023) | Cod sursa (job #623010) | Cod sursa (job #2126738) | Cod sursa (job #535300) | Cod sursa (job #1338325)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
int V,E,maxi;
int visited[100001];
vector< vector<int> >graph;
void dfs(int curr,int sum)
{
visited[curr]=1;
for(int w=0;w<graph[curr].size();w++)
if(!visited[graph[curr][w]])
dfs(graph[curr][w],sum+1);
}
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
cin>>V>>E;
graph.resize(V+1);
for(int x=0;x<E;x++)
{
int temp1,temp2;
cin>>temp1>>temp2;
graph[temp1].push_back(temp2);
}
for(int x=1;x<=V;x++)
{
if(!visited[x])
{
dfs(x,0);
maxi++;
}}
cout<<maxi<<endl;
return 0;
}