Pagini recente » Borderou de evaluare (job #1330807) | Cod sursa (job #387109) | Cod sursa (job #3209278) | Cod sursa (job #3267903) | Cod sursa (job #333407)
Cod sursa(job #333407)
#include <fstream>
#include <vector>
using namespace std;
int N,M,i,a,b,nr;
char visit[100010];
vector<int> myV[100010];
void proceed(int i){
visit[i]=1;
vector<int>::iterator it;
for (it=myV[i].begin(); it!=myV[i].end(); it++)
{
if (!visit[*it])
proceed(*it);
}
}
int main () {
ifstream in;
ofstream out;
in.open("dfs.in");
out.open("dfs.out");
in >> N >> M;
for (i=0;i<M;i++) {
in>>a>>b;
myV[a].push_back(b);
}
for (i=1;i<=N;i++)
if(!visit[i]) {
nr++;
proceed(i);
}
out<<nr;
out.close();
return 0;
}