Pagini recente » Cod sursa (job #19438) | Cod sursa (job #2823987) | Cod sursa (job #2356711) | Cod sursa (job #2220413) | Cod sursa (job #2810595)
#include <bits/stdc++.h>
using namespace std;
vector<int> graf[100001];
bitset<100001> viz;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
void DFS(int nod)
{
int y;
viz[nod]=1;
cout<<nod<<" ";
for(int i=0;i<graf[nod].size();i++)
{
y = graf[nod][i];
if(!viz[y]) DFS(y);
}
}
int main()
{
int n, m, x ,y;
fin>>n>>m;
for(int i=1;i<=m;i++)
{
fin>>x>>y;
graf[x].push_back(y);
graf[y].push_back(x);
}
int nr_comp_conexe = 0;
for(int i=1;i<=n;++i)
if(viz[i]==0)//am gasit un nod nevizitat
{
DFS(i);
nr_comp_conexe++;
}
ofstream fout("dfs.out");
fout<<nr_comp_conexe<<"\n";
fout.close();
DFS(1);
}