Pagini recente » Cod sursa (job #2957835) | Cod sursa (job #396839) | Cod sursa (job #1622923) | Cod sursa (job #2749562) | Cod sursa (job #2242677)
#include <iostream>
#include <fstream>
#include <stack>
using namespace std;
int matrix[110][110], visited[110];
void DFS(int start, int n)
{
ofstream fout("DFS.out");
stack<int> s;
int node, ok;
s.push(start);
visited[start]=1;
fout << start << " ";
while(!s.empty())
{
node=s.top();
ok=0;
for (int i=1; i<=n; i++)
if (!visited[i] && matrix[node][i])
{
ok=1;
s.push(i);
visited[i]=1;
fout << i << " ";
break;
}
if (!ok)
s.pop();
}
}
int main()
{
int n, m, nr, x, y;
ifstream fin("DFS.in");
fin >> n >> m >> nr;
for (int i=1; i<=m; i++)
{
fin >> x >> y;
matrix[x][y]=matrix[y][x]=1;
}
DFS(nr, n);
return 0;
}