Прореживаем посадки Появились первые ростки! Но некоторые расположены слишком близко друг к другу. Придётся проредить поле! В первой строке записано число N — число строк и столбцов квадратного поля. Дальше записано поле по строкам. Каждая грядка состоит из символов ростка 🌱 или пустой земли 🟫. Определите, есть ли в поле хотя бы два ростка в соседних клетках (по горизонтали или по вертикали). В ответе выведите «нужно», если такие соседи есть и поле нужно проредить, и «не нужно», если нет. Например, это поле нужно проредить: 🟫🌱 🟫🌱 А это — не нужно (соседи по диагонали не считаются): 🌱🟫 🟫🌱
Информатика 11 класс Алгоритмы и структуры данных
Чтобы решить задачу, нам нужно проверить, есть ли в заданном квадратном поле хотя бы два соседних ростка (символ 🌱), которые расположены либо по горизонтали, либо по вертикали. Давайте разберем шаги решения этой задачи.
Теперь давайте посмотрим на пример кода, который реализует данное решение:
N = int(input())
field = [input().strip() for _ in range(N)]
for i in range(N):
for j in range(N):
if field[i][j] == '🌱':
if j + 1 < N and field[i][j + 1] == '🌱': # Проверка справа
print("нужно")
exit()
if i + 1 < N and field[i + 1][j] == '🌱': # Проверка снизу
print("нужно")
exit()
print("не нужно")
В этом коде мы сначала считываем размерность поля и само поле. Затем с помощью двух вложенных циклов проверяем каждую клетку. Если находим соседей, сразу выводим «нужно». Если после всех проверок ничего не нашли, выводим «не нужно». Таким образом, мы эффективно решаем задачу.