Pagini recente » Borderou de evaluare (job #2772069) | Cod sursa (job #1705118) | Cod sursa (job #3001916) | Cod sursa (job #2326594) | Cod sursa (job #2115017)
#include <bits/stdc++.h>
using namespace std;
int n,x,y,m,k;
vector <int> v[100100];
bool viz[100100];
void dfs(int x){
viz[x]=1;
for (int j=0;j<v[x].size();j++){
if (!viz[v[x][j]]){
dfs(v[x][j]);
}
}
}
int main(){
ifstream cin("dfs.in");
ofstream cout("dfs.out");
cin>>n>>m;
for (int i=1;i<=m;i++){
cin>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
for (int i=1;i<=n;i++){
if (!viz[i]) {
k++;
dfs(i);
}
}
// dfs(1) 1 2 3 4 5 6 7(1 0 1 0 1 0 0)
// dfs(2) 1 2 3 4 5 6 7(1 1 1 1 1 1 1)
cout<<k;
return 0;
}