Пожалуйста, помогите решить задачу на Питоне
Решал, получилось это:
n = int(input())
inf = 1000000000000
a = []
for op in range(n):
a.append(list(map(int, input().split())))
k = int(input())
for start in range(0, n):
color = ['w'] * n
d = [inf] * n
p = ['']*n
q = []
q.append(start)
for i in range(0,n) :
if a[q[0][i]] == 1:
g.append
Вот текст задачи:
Задача №112637. Пересадки. Вася решил немного попутешествовать и выяснил, что между некоторыми городами нет прямых авиарейсов, поэтому придётся лететь с пересадками. Ему стало интересно, между какими парами городов можно лететь ровно с K пересадками. Напишите программу, которая выводит все пары таких городов.
Входные данные
В первой строке вводится количество городов на карте N ( 1 ≤ N ≤ 50 ). В следующих N строках записано по N чисел, разделённых пробелами – элементы матрицы смежности графа, который описывает схему авиационных сообщений. В последней строке вводится число K – желаемое количество пересадок.
Выходные данные
Программа должна найти все пары городов, между которыми можно лететь ровно с K пересадками. Каждая пара должна быть выведена в отдельной строке, номера городов в паре расположены по возрастанию. Нумерация начинается с единицы. Пары должны быть упорядочены: сначала все пары, которые начинаются в городе 1 по возрастанию второго номера города в паре, и т.д. Если ни одной такой пары не найдено, нужно вывести число 0.
Примеры
входные данные
4
0 1 1 0
1 0 1 0
1 1 0 1
0 0 1 0
2
выходные данные
1 4
2 4