Как найти путь через пунктирную (станционную) дорожку, например, карту метро - PullRequest
0 голосов
/ 28 ноября 2018

Это карта станций метро, ​​каждая вертикальная линия представляет собой линию с различными станциями, а горизонтальные линии представляют передающую станцию, где вы можете изменить свою линию и перейти к другой.enter image description here

Я пытался создать программу, в которой для начальной станции и конечной станции было бы возвращено количество станций, необходимых для поездки.Я начал с создания словаря, содержащего там строки и их станции, пронумерованные по порядку, но он закончился множеством операторов if, и я не мог понять, как заставить его переходить от линии к другой, используя станции с переключением линий.Я думал об использовании узлов и алгоритма Дейкстры, но я не уверен, что он будет работать.Я не знаю, что мне нужно искать, или какой алгоритм мне стоит попробовать.Подходит ли алгоритм Дейкстры или он больше заботится о расстоянии между узлами?

1 Ответ

0 голосов
/ 28 ноября 2018

Вы можете установить каждое расстояние между узлами равным 1, и тогда алгоритм Дейкстры будет применяться здесь.

...