Пожалуйста, помогите решить задачу на Питоне

Решал, получилось это:

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


Ответы (0 шт):