Pagini recente » Statistici Andrei Pavel (contnou) | Istoria paginii utilizator/niculescuteodor | Cod sursa (job #2040397) | Cod sursa (job #1946870) | Cod sursa (job #1621380)
#include <stdio.h>
#include <vector>
#include <bitset>
using namespace std;
#define ll long long unsigned
#define pb push_back
#define mp make_pair
vector <int> v[100005];
bitset <100005> viz;
void dfs(int nod){
viz[nod] = 1;
for(auto it : v[nod]){
if(!viz[it]){
dfs(it);
}
}
}
int main(){
int n,m,i;
freopen("dfs.in", "r", stdin);
freopen("dfs.out", "w", stdout);
scanf("%d %d",&n,&m);
for(i = 1;i <= m;i++){
int x,y;
scanf("%d %d",&x,&y);
v[x].pb(y);
v[y].pb(x);
}
int ans = 0;
for(i = 1;i <= n;i++){
if(!viz[i]){
ans++;
dfs(i);
}
}
printf("%d",ans);
return 0;
}