Pagini recente » Cod sursa (job #2686591) | Diferente pentru preoni-2005/runda-3/solutii intre reviziile 18 si 20 | Cod sursa (job #2912233) | Cod sursa (job #778090) | Cod sursa (job #698930)
Cod sursa(job #698930)
#include <stdio.h>
#include <vector>
using namespace std;
vector <int> g[100010];
int n,m,i,a,b,nri,v[100010];
void dfs(int nri)
{
if(v[nri]==1){
return;
}
v[nri]=1;
for(i=0;i<g[nri].size();i++){
dfs(g[nri][i]);
}
}
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++){
scanf("%d%d",&a,&b);
g[a].push_back(b);
g[b].push_back(a);
}
for(i=1;i<=n;i++){
if(v[i]==0){
nri++;
dfs(i);
}
}
printf("%d",nri-1);
return 0;
}