Pagini recente » Cod sursa (job #2470795) | Cod sursa (job #566252) | Cod sursa (job #2954217) | Cod sursa (job #1711488) | Cod sursa (job #2309164)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
vector <int> L[100002];
bool viz[100002];
void DFS(int k)
{
viz[k] = 1;
for (int j = 0; j < L[k].size(); j++)
{
if (!viz[L[k][j]])
DFS(L[k][j]);
}
}
int main ()
{
int i, j = 0, N, M, x, y;
fin >> N >> M;
for (i = 1; i <= M; i++)
{
fin >> x >> y;
L[x].push_back(y);
L[y].push_back(x);
}
for (i = 1; i <= N; i++)
if (!viz[i])
{
j++;
DFS(i);
}
fout << j << "\n";
return 0;
}