Pagini recente » Cod sursa (job #2433342) | Cod sursa (job #2455123) | Cod sursa (job #155900) | Cod sursa (job #935906) | Cod sursa (job #502176)
Cod sursa(job #502176)
#include <iostream>
#include <string>
#include <vector>
using namespace std;
#define NM 100005
int N, M;
vector <int> G[NM];
bool viz[NM];
void parc (int nod)
{
viz[nod] = 1;
for (int i = 0; i < G[nod].size(); ++i)
{
int nnod = G[nod][i];
if (!viz[nnod]) parc(nnod);
}
}
int main()
{
int ans = 0, a, b;
freopen ("dfs.in", "r", stdin);
freopen ("dfs.out", "w", stdout);
scanf ("%d %d", &N, &M);
for (int i = 1; i <= M; ++i)
{
scanf ("%d %d", &a, &b);
G[a].push_back(b);
G[b].push_back(a);
}
for (int i = 1; i <= N; ++i)
if (!viz[i])
{
++ans;
parc(i);
}
printf ("%d", ans);
return 0;
}