Pagini recente » Cod sursa (job #1116788) | Cod sursa (job #516242) | Cod sursa (job #2882180) | Cod sursa (job #1441055) | Cod sursa (job #2143227)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
const int NLim=100005;
int N,M,insule=0;
bool vizitat[NLim];
vector <int> Muchii[NLim];
void dfs(int Nod)
{
vizitat[Nod]=true;
for(int i=1 ; i<=Muchii[Nod].size(); i++)
{
int vecin;
vecin=Muchii[Nod][i];
if(!vizitat[vecin])
dfs(vecin);
}
}
void citire()
{
f>>N>>M;
for(int i=1;i<=M;i++)
{
int x,y;
f>>x>>y;
Muchii[x][y]=Muchii[y][x];
}
for(int i=1;i<=N;i++)
{
if(!vizitat[i])
{
dfs[i];
insule++;
}
}
g<<insule;
}
int main()
{
citire();
return 0;
}