Pagini recente » Cod sursa (job #291739) | Cod sursa (job #196675) | Cod sursa (job #159055) | Cod sursa (job #2257165) | Cod sursa (job #2469443)
#include <bits/stdc++.h>
#define NMAX 100005
using namespace std;
string text="dfs";
ifstream fin(text+".in");
ofstream fout(text+".out");
typedef long long ll;
int n,m,ans;
int a[NMAX/10][NMAX/10],vizitat[NMAX];
void dfs(int x){
int i;
for(i=1;i<=n;i++){
if(a[x][i]==1){
if(!vizitat[i]){
vizitat[i]=1;
dfs(i);
}
}
}
}
int main()
{
int x,y,i;
fin>>n>>m;
for(i=1;i<=m;i++){
fin>>x>>y;
a[x][y]=1;
}
for(i=1;i<=n;i++){
if(!vizitat[i]){
dfs(i); ans++;
}
}
fout<<ans;
return 0;
}