Pagini recente » Cod sursa (job #1113404) | Cod sursa (job #2940228) | Cod sursa (job #1354898) | Cod sursa (job #1227328) | Cod sursa (job #798114)
Cod sursa(job #798114)
#include <cstdio>
#include <vector>
#define nMax 100100
using namespace std;
int n;
vector <int> graf[nMax];
int viz[nMax];
int nrComponente;
void citire(){
int m;
scanf ("%d %d", &n, &m);
while (m -- ){
int x;
int y;
scanf ("%d %d", &x, &y);
graf[x].push_back (y);
graf[y].push_back (x);
}
}
int dfs (int nod){
viz[nod] = 1;
for (unsigned int i = 0; i < graf[nod].size(); ++ i){
if (viz[graf[nod][i]] == 0){
dfs (graf[nod][i]);
}
}
}
void rezolvare(){
for (int i = 1; i <= n; ++ i){
if (viz[i] == 0){
nrComponente ++;
dfs (i);
}
}
}
void afisare(){
printf ("%d\n", nrComponente);
}
int main()
{
freopen ("dfs.in", "r", stdin);
freopen ("dfs.out", "w", stdout);
citire();
rezolvare();
afisare();
return 0;
}