Pagini recente » Cod sursa (job #1837832) | Cod sursa (job #1521049) | Istoria paginii utilizator/upb_andritoiu_antoche_nitu | Cod sursa (job #2159872) | Cod sursa (job #966496)
Cod sursa(job #966496)
#include <iostream>
#include <fstream>
#include <cmath>
#include <vector>
#include <queue>
#include <deque>
#include <list>
#include <string>
#include <algorithm>
using namespace std;
ifstream ff("dfs.in");
ofstream gg("dfs.out");
#define max 100001
int n, m, k;
vector<int> vv[max];
bool ww[max];
void dfs(int x){
int y, l;
ww[x]=1;
l=vv[x].size();
for(int i=0;i<l;i++){
y=vv[x][i];
if(!ww[y])dfs(y);
}
}
int main(){
int x, y;
ff >> n >> m;
for(int i=0;i<m;i++){
ff >> x >> y;
vv[x].push_back(y);
vv[y].push_back(x);
}
for(int i=1;i<=n;i++)
if(!ww[i]){ dfs(i); k++; }
gg << k;
return 0;
}