Pagini recente » Atasamentele paginii Profil diib1023 | Cod sursa (job #2279219) | Cod sursa (job #948111) | Monitorul de evaluare | Cod sursa (job #1937879)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("dfs.in"); ofstream g("dfs.out");
int nrc,k,a[1005][1005],n,m,viz[100003];
void dfs(int nod) {
int i;
viz[nod] = k;
for(i = 1; i <= n; ++i) {
if (a[nod][i] && viz[i] == 0) {
dfs(i);
}
}
}
int main() {
int i,j;
f>>n>>m;
for(i = 1; i <= 1000; ++i) {
for(j = 1; j <= 1000; ++j) {
a[i][j] = 0;
}
}
for(i = 1; i <= n; ++i) {
viz[i] = 0;
}
for(i = 1; i <= m; ++i) {
int x,y;
f>>x>>y;
a[x][y] = 1;
}
nrc = 0;
for(i = 1; i <= n; ++i){
k = i;
if (viz[i] == 0) {
++nrc;
dfs(i);
}
}
g<<nrc;
return 0;
}