Pagini recente » Cod sursa (job #1449538) | Cod sursa (job #461879) | Cod sursa (job #1014497) | Cod sursa (job #2212269) | Cod sursa (job #1016144)
#include <cstdio>
#include <cstdlib>
#define N 100001
using namespace std;
int n, m;
int *g[N], deg[N], v[N];
void dfs(int x)
{
int *p;
v[x]=1;
for(p=g[x];*p!=-1;p++)
{
if(!v[*p])
{
dfs(*p);
}
}
}
int main()
{
freopen("dfs.in", "r", stdin);
freopen("dfs.out", "w", stdout);
int i, j;
long long sol=0;
scanf("%d%d", &n, &m);
while(m--)
{
scanf("%d%d", &i, &j);
deg[i]++;deg[j]++;
}
for(i=1;i<=n;i++)
{
g[i]=(int *) malloc((deg[i]+1)*sizeof(int));
g[i][deg[i]]=-1;
deg[i]=0;
}
fseek(stdin, 0, SEEK_SET);
scanf("%d%d", &n, &m);
while(m--)
{
scanf("%d%d", &i, &j);
g[i][deg[i]++]=j;
g[j][deg[j]++]=i;
}
for(i=1;i<=n;i++)
{
if(!v[i])
{
dfs(i);
sol++;
}
}
printf("%lld", sol);
}