Pagini recente » Cod sursa (job #2643745) | Cod sursa (job #2113568) | Cod sursa (job #2971641) | Cod sursa (job #920314) | Cod sursa (job #1017468)
#include <iostream>
#include <cstdio>
#define Nmax 2000
using namespace std;
int a[Nmax][Nmax];
int i,j,n,m,cmp;
bool viz[Nmax];
void reading(int &n)
{
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);
++a[x][0];a[x][a[x][0]]=y;
++a[y][0];a[y][a[y][0]]=x;
}
}
void dfs(int x)
{
viz[x]=1;
for(i=1;i<=a[x][0];++i)
if (!viz[a[x][i]]) dfs(a[x][i]);
}
int main()
{
reading(n);
for(i=1;i<=n;++i)
if (!viz[i]) {++cmp;dfs(i);}
printf("%d",cmp);
return 0;
}