Графы, подсчёт изолированных вершин с помощью матрицы смежности, код выдаёт неверный ответ
решала следующую задачу:
На острове расположены несколько государств, изолированных
друг от друга. У программиста Васи есть данные обо всех дорогах
острова, заданные в виде весовой матрицы соответствующего графа,
узлы которого – города, а веса рёбер – расстояния между ними.
Напишите программу, которая определяет, сколько государств,
состоящих из единственного города, находится на острове.
Входные данные
В первой строке вводится количество городов на карте N ( 1 ≤ N ≤ 1000 ).
В следующих N строках записано по N чисел, разделённых пробелами –
элементы весовой матрицы графа, который описывает схему дорог.
Выходные данные
Программа должна вывести номера всех государств, состоящих из одного
города, в порядке возрастания. Нумерация начинается с единицы. Если
таких городов нет, нужно вывести число 0.
Примеры
входные данные
5
0 1 2 0 0
1 0 3 0 0
2 3 0 0 0
0 0 0 0 0
0 0 0 0 0
выходные данные
4 5
Написала по ней код:
n=int(input())
a=[list(map(int, input().split())) for i in range(n)]
ans1=[]
for i in range(n):
if len(set(a[i]))==1:
ans1.append(i+1)
ans2=[]
for i in range(n):
q=0
for j in range(n):
q+=a[j][i]
if q==0:
ans2.append(i+1)
if len(ans1)==0 or len(ans2)==0:
print(0)
else:
for i in ans1:
if i in ans2:
print(i, end=" ")
Но на трёх тестах проверяющей системы код выдаёт неверный ответ, помогите пожалуйста!!! Ссылка на задачу: https://informatics.msk.ru/mod/statements/view.php?id=83389&chapterid=479#1
Источник: Stack Overflow на русском