Pagini recente » Cod sursa (job #3030505) | Cod sursa (job #206358) | Cod sursa (job #686432) | Cod sursa (job #1436551) | Cod sursa (job #2870158)
#include <iostream>
#include <fstream>
#include <vector>
#define NMAX 200001
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int n,m,insule,a,b;
bool Vizitat[NMAX];
vector <int> G[NMAX];
void Citire()
{
f>>n;
f>>m;
for(int i=1;i<=m;i++)
{
f>>a;
f>>b;
G[a].push_back(b);
G[b].push_back(a);
}
}
void Rezolvare(int Start)
{
int Curent;
Vizitat[Start]=true;
for(size_t i=0;i<G[Start].size();i++)
{
Curent=G[Start][i];
if(Vizitat[Curent]==false)
Rezolvare(Curent);
}
}
void Afisare()
{
g<<insule;
}
int main()
{
Citire();
for(int i=1;i<=n;i++)
{
if(Vizitat[i]==false)
{
insule++;
Rezolvare(i);
}
}
Afisare();
return 0;
}