Как переделать программу чтобы осуществлялся поиск в графе между двумя вершинами с обратным ходом?
#include <stdio.h>
#include <conio.h>
#include<clocale>
#include<iostream>
#define n 5
char A[n][n] =
{
1, 1, 1, 0, 1,
1, 1, 1, 0, 0,
1, 1, 1, 1, 0,
0, 0, 1, 1, 1,
1, 0, 0, 1, 1,
};
int mas[n] = { 0,0,0,0,0 };
using namespace std;
bool flag[n] = {false};
void DFS(int k, int prev, int cur)
{
cout << " - " << cur;
flag[cur] = true;
for (int i = 0; i < n; i++)
{
if (i-1 == k) break;
if (flag[i] == false && A[cur][i] == 1)
{
DFS(k, cur, i);
}
}
}
int main()
{
int FST;
printf("Input number of list vertex: ");
scanf_s("%d", &FST);int k = 3;
cout << FST;
DFS(k, -1, FST);
_getch();
return 0;
}