@kraz12345

В чем может быть ошибка при решении задачи?

Условие задачи:
Вводится двумерный список размерностью 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)

Вопрос:
Проходит не все тесты - в чем может быть ошибка?
  • Вопрос задан
  • 230 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы