Pagini recente » Cod sursa (job #1588191) | Cod sursa (job #794606) | Cod sursa (job #1402780) | Cod sursa (job #2089507) | Cod sursa (job #2168898)
#include <fstream>
#include <vector>
using namespace std;
unsigned int N, M, compConexe;
unsigned const int NMAX = 100005;
vector<unsigned int> muchii[NMAX];
bool vizitat[NMAX];
ifstream fin("dfs.in");
ofstream fout("dfs.out");
void DFS(unsigned int nod)
{
vizitat[nod] = true;
for(unsigned int i = 0; i < muchii[nod].size(); i++)
{
unsigned int Vecin = muchii[nod][i];
if(!vizitat[Vecin])
DFS(Vecin);
}
}
int main()
{
fin >> N >> M;
for(unsigned int i = 0; i < M; i++)
{
unsigned int X, Y;
fin >> X >> Y;
muchii[X].push_back(Y);
muchii[Y].push_back(X);
}
fin.close();
for(unsigned int i = 0; i < N; i++)
{
if(!vizitat[i])
{
compConexe++;
DFS(i);
}
}
fout << compConexe;
fout.close();
return 0;
}