Pagini recente » Cod sursa (job #343582) | Cod sursa (job #1430723) | Cod sursa (job #2650634) | Cod sursa (job #2688286) | Cod sursa (job #2596298)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
int n, m, x, y, nr, muchii[100005][1005], poz[100005];
bool vizitat[100005];
void dfs(int k)
{
vizitat[k] = 1;
for(int i = 1; i <= poz[k]; i++)
{
int vecin = muchii[k][i];
if(vizitat[vecin] == 0)
dfs(vecin);
}
}
int main()
{
fin >> n >> m;
for(int i = 1; i <= m; i++)
{
fin >> x >> y;
muchii[x][++poz[x]] = y;
muchii[y][++poz[y]] = x;
}
for(int i = 1; i <= n; i++)
if(vizitat[i] == 0)
{
dfs(i);
nr++;
}
fout << nr;
}