Pagini recente » Cod sursa (job #2971907) | Cod sursa (job #139262) | Cod sursa (job #2309363) | Cod sursa (job #661182) | Cod sursa (job #1339187)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in ("dfs.in");
ofstream out ("dfs.out");
const int MAXN = 100010;
vector <int> Graf[MAXN];
bool Viz[MAXN];
void DFS (int nod)
{
Viz[nod] = 1;
vector <int> :: iterator it;
for (it = Graf[nod].begin (); it != Graf[nod].end (); ++ it)
if (!Viz[*it])
DFS (*it);
}
int main()
{
int N, M, a, b, i;
int Ans = 0;
in >> N >> M;
for (i = 1; i <= M; i ++){
in >> a >> b;
Graf[a].push_back (b);
Graf[b].push_back (a);
}
for (i = 1; i <= N; i ++)
if (!Viz[i]){
Ans ++;
DFS (i);
}
out << Ans;
return 0;
}