Pagini recente » Cod sursa (job #612730) | Cod sursa (job #2430023) | Cod sursa (job #2746536) | Cod sursa (job #2398582) | Cod sursa (job #1695758)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("dfs.in");
ifstream out("dfs.out");
int N,M,C[1000],c;
vector <int> G[100000],V;
void citire()
{
int X,Y;
in>>N;
in>>M;
for(int i=1;i<=M;++i){
in>>X>>Y;
G[X].push_back(Y);
G[Y].push_back(X);}
}
void parcurgere(int nod){
for(int i=0; i<G[nod].size(); ++i)
{
if(C[G[nod][i]]==0){
V.push_back(G[nod][i]);
C[G[nod][i]]=1;
parcurgere(G[nod][i]);}
}
}
void parcurgere2()
{
for(int i=1; i<= N; ++i)
{
if(C[i]==0){
++c;
C[i]=1;
V.push_back(i);
parcurgere(i);}
}
}
int main()
{
citire();
parcurgere2();
out<<c;
return 0;
}