Pagini recente » Cod sursa (job #1324855) | Cod sursa (job #1062228) | Cod sursa (job #108154) | Cod sursa (job #3221442) | Cod sursa (job #3197713)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
vector <vector<int>> graf;
bool vis[200005];
void dfs(int nod){
vis[nod]=true;
for(int vec:graf[nod]){
if(!vis[vec]){
dfs(vec);
}
}
}
int main(){
int n, m;
fin>>n>>m;
graf.resize(n+1);
for(int i=0; i<m; i++){
int nod1, nod2;
fin>>nod1>>nod2;
graf[nod1].push_back(nod2);
graf[nod2].push_back(nod1);
}
int cnt=0;
for(int i=1;i<=n;i++){
if(!vis[i]){
dfs(i);
cnt++;
}
}
fout<<cnt;
return 0;
}