Cod sursa(job #1338791)
Utilizator | Data | 10 februarie 2015 12:56:36 | |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <fstream>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
int n,x,m,a[101][101],b[101],c[101],x1,x2;
void dfs(int nr)
{
for(int i=1;i<=n;i++)
{
if(a[i][nr]==1&&c[i]==0)
{
out<<i<<' ';
c[i]=1;
dfs(i);
}
}
}
int main()
{
in>>n>>m>>x;
for(int i=1;i<=m;i++)
{
in>>x1>>x2;
a[x1][x2]=a[x2][x1]=1;
}
c[x]=1;
out<<x<<' ';
dfs(x);
}