Такие задачи решаются совершенно иначе.
Строится граф городов, каждой дуге в соответствие ставится длина пути. Потом применяется какой-либо из алгоритмов поиска кратчайшего пути в графе. Или что, думаете, Яндекс.Метро - это 2*10^443 заранее просчитанных путей? Попробуйте как-нибудь на досуге хотя бы написать это число на бумажке, сразу станет понятно, что такой подход - не вариант.
З.Ы. не заметил, что в теме 2 страницы. Страдалец то же самое написал.