Pagini recente » Cod sursa (job #1191899) | Cod sursa (job #1956125) | Cod sursa (job #2778886) | Cod sursa (job #585902) | Cod sursa (job #2329665)
#include <bits/stdc++.h>
#define NMAX 100003
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int n,m,a,b,v;
vector <int> muchie[NMAX];
queue <int> q;
int conexe[NMAX];
int main()
{
fin>>n>>m;
for(int i=1;i<=m;++i)
{
fin>>a>>b;
muchie[a].push_back(b);
}
int cnt=0;
for(int i=1;i<=n;++i)
{
if(conexe[i]==0)
{
cnt++;
q.empty();
q.push(i);
conexe[i]=cnt;
while(q.size()!=0)
{
int nod=q.front();
q.pop();
for(auto x:muchie[nod])
{
q.push(x);
conexe[x]=cnt;
}
}
}
}
fout<<cnt;
return 0;
}