Pagini recente » Cod sursa (job #507899) | Cod sursa (job #3164522) | Cod sursa (job #1701560)
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
long n,m;
ifstream f("dfs.in");
ofstream g("dfs.out");
vector <vector <int> > graf;
bool visited[100];
void Citire()
{
int x,y;
f>>n>>m;
graf.resize(n);
for (int i=0;i<m;i++)
{
f>>x>>y;
x--;
y--;
graf[x].push_back(y);
graf[y].push_back(x);
}
}
void DFS (int x)
{
if (x>n-1||x<0)
return;
//if (visited[x]==false)
visited[x]=true;
for (int i=0;i<graf[x].size();i++)
{
if (visited[graf[x][i]]==false)
DFS(graf[x][i]);
}
}
void CompConexe ()
{
int counter=0;
for (int i=0;i<n;i++)
{
if (visited[i]==false)
{
DFS(i);
counter++;
}
}
//cout<<counter<<" componente conexe";
g<<counter;
g.close();
}
int main ()
{
Citire();
CompConexe();
return 0;
}