Pagini recente » Cod sursa (job #1263664) | Cod sursa (job #1729932) | Cod sursa (job #104960) | Cod sursa (job #2019191) | Cod sursa (job #2206714)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int n,m,k;
struct muchie{int b;muchie *n;}*a[50002],*p;
bool v[100001];
void dfs(int x)
{
v[x]=1;
for(muchie *t=a[x];t!=NULL;t=t->n)
if(!v[t->b])
dfs(t->b);
}
int main()
{
f>>n>>m;
for(int i=1;i<=m;++i)
{
int A,B;
f>>A>>B;
p=new muchie;
p->b=B;
p->n=a[A];
a[A]=p;
p=new muchie;
p->b=A;
p->n=a[B];
a[B]=p;
}
k=0;
for(int i=1;i<=n;++i)if(!v[i]){++k;dfs(i);}
g<<k;
}