Pagini recente » Cod sursa (job #616871) | Cod sursa (job #453480) | Cod sursa (job #1133252) | Cod sursa (job #1623918) | Cod sursa (job #1453516)
#include<fstream>
using namespace std;
ifstream cin("dfs.in");
ofstream cout("dfs.out");
struct nod
{
int info;
nod * next;
};
nod * lda[100004];
int v[100004];
void add(int x, nod * &y)
{
nod * p= new(nod);
p->info = x;
p->next = y;
y=p;
}
void dfs(int k)
{
v[k]=1;
for (nod * p=lda[k];p;p=p->next)
if (!v[p->info])
dfs(p->info);
}
int main()
{
int n, m;
cin >> n >> m;
while (m--)
{
int x,y;
cin>>x>>y;
add(y,lda[x]);
add(x,lda[y]);
}
int cnt = 0;
for (int i=1;i<=n;i++)
if (!v[i]) dfs(i), cnt++;
cout << cnt;
return 0;
}