У меня есть проблема, с которой мне нужно руководство. У меня есть массив, который имеет информацию о ребрах между различными узлами. Итак,
a[1][39] = 'p'
-> Возьмите переход 'p', находясь в узле 1, чтобы добраться до узла 39. Полный график таков:
i[1][51] = 'p'
i[1][39] = 't'
i[39][40] = 'd'
i[40][66] = 'p'
i[66][51] = 'd'
i[40][41] = 'm'
i[41][64] = 'd'
i[64][40] = 'd'
Как видите, это ориентированный циклический граф. Что мне нужно сделать - это получить все пути от точки X до Y. Итак, учитывая X = 1 и Y = 51. Мне нужен вывод так:
o[0][0] = 'p'
o[1][0] = 't'
o[1][1] = 'd'
o[1][2] = 'p'
o[1][3] = 'd'
o[2][0] = 't'
o[2][1] = 'd'
o[2][2] = 'm'
o[2][3] = 'd'
o[2][4] = 'd'
o[2][5] = 'p'
o[2][6] = 'd'
Первый индекс показывает номер пути. Итак, у меня есть три пути здесь. Второй индекс показывает шаг. Итак, один шаг на первом пути, четыре на втором.
Я делаю это на PHP, но подойдет даже код псевдокода. Кроме того, я могу также изменить входной массив на i[1]['p'] = 51
и т. Д., Если это может помочь.
Спасибо.