Pagini recente » Cod sursa (job #2329348) | Cod sursa (job #689295) | Cod sursa (job #1373031) | Cod sursa (job #1462510) | Cod sursa (job #1511954)
#include<cstdio>
#include<vector>
using namespace std;
#define NMAX 100000
vector<int> G[NMAX+5], viz;
int cc=1;
void rez(int u)
{
int i=0;
for(i=0; i<G[u].size(); i++)
{
int v=G[u][i];
if(!viz[v])
{
viz[v]=cc;
rez(v);
}
}
}
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
int u, v, n, k, i;
scanf("%d%d",&n, &k);
for(i=1; i<=k; i++)
{
scanf("%d%d", &u, &v);
G[u].push_back(v);
G[v].push_back(u);
}
viz.assign(n+1, 0);
for(i=1; i<=n; i++)
{
if(!viz[i])
{
rez(i);
cc++;
}
}
printf("%d", cc-1);
return 0;
}