Условие задачи:
Вводится двумерный список размерностью 5 х 5 элементов, состоящий из нулей и, в некоторых позициях, единиц (см. пример ввода ниже). Требуется проверить, не касаются ли единицы друг друга по горизонтали, вертикали и диагонали. То есть, вокруг каждой единицы должны быть нули. Если проверка проходит вывести ДА, иначе - НЕТ.
P. S. Для считывания списка целиком в программе уже записаны начальные строчки.
Код:
import sys
# считывание списка из входного потока
s = sys.stdin.readlines()
lst_in = [list(map(int, x.strip().split())) for x in s]
f = 'ДА'
z = []
for i in range(7):
z.append([0] * 7)
for i in range(5):
for j in range(5):
if lst_in[i][j] == 1:
z[i + 1][j + 1] = 1
for i in range(2, 6):
for j in range(2, 6):
if z[i][j] == 1 and (z[i-1][j-1] == 1 or z[i-1][j] == 1 or z[i-1][j+1] == 1 or z[i][j-1] == 1 or z[i][j+1] == 1 or z[i+1][j-1] == 1 or z[i+1][j] == 1 or z[i+1][j+1] == 1):
f = 'НЕТ'
break
print(f)
Вопрос:
Проходит не все тесты - в чем может быть ошибка?