Pagini recente » Cod sursa (job #1439057) | Cod sursa (job #1021239) | Cod sursa (job #234921) | Cod sursa (job #327995) | Cod sursa (job #1842156)
#include <iostream>
#include <bits/stdc++.h>
#define MAXN 100005
using namespace std;
vector <int> lista[MAXN];
int conex[MAXN], viz[MAXN], compCon = 1;
void DFS(int nod,int n){
int i, len;
len = lista[nod].size();
viz[nod] = 1;
conex[nod] = compCon;
for(i = 0;i < len; ++i)
if(viz[lista[nod][i]] == 0)
DFS(lista[nod][i],n);
}
int main(){
FILE *f, *g;
f = fopen("dfs.in","r");
g = fopen("dfs.out","w");
int n, m, i, x, y;
fscanf(f,"%d %d",&n,&m);
for(i = 1;i <= m; ++i){
fscanf(f,"%d %d",&x,&y);
lista[x].push_back(y);
lista[y].push_back(x);
}
for(i = 1;i <= n; ++i)
viz[i] = 0;
for(i = 1;i <= n; ++i)
if(viz[i] == 0){
DFS(i,n);
++compCon;
}
fprintf(g,"%d",compCon - 1);
}