Pagini recente » Cod sursa (job #1729061) | Cod sursa (job #2798145) | Cod sursa (job #2635536) | Monitorul de evaluare | Cod sursa (job #1946998)
#include<bits/stdc++.h>
using namespace std;
struct nod{
int val;
nod* next;
}* a[200100];
int n,m,x,y,viz[100100],ans;
void add(nod* &p, int x){
nod* q = new nod;
q->val=x;
q->next = p;
p = q;
}
void dfs(int x)
{
viz[x] = 1;
for (nod* j = a[x]; j != NULL; j= j->next)
if (!viz[j->val])
dfs(j->val);
}
int main()
{
ifstream cin("dfs.in");
ofstream cout("dfs.out");
cin >> n >> m;
while(m--){
cin >> x >> y;
add(a[x],y);
add(a[y],x);
}
for (int i = 1; i <= n; i++)
if (!viz[i]){dfs(i);ans++;}
cout << ans;
}