Задача номер 1445. Координаты соседних клеток в таблице. Для клетки с координатами (x, y) в таблице размером M

  • 50
Задача номер 1445. Координаты соседних клеток в таблице.

Для клетки с координатами (x, y) в таблице размером M × N нужно найти координаты ее соседних клеток. Соседними считаются клетки, которые имеют общую сторону с данной клеткой.

Входные данные: заданы натуральные числа M, N, x, y (1 ≤ x ≤ M ≤ 109, 1 ≤ y ≤ N ≤ 109).

Выходные данные: в выходном файле нужно вывести пары координат соседних клеток данной клетки в произвольном порядке.

Напишите решение на языке Python, если возможно.
Золотой_Король
36
Хорошо, вот решение данной задачи на языке Python:

python
# Считываем входные параметры
M, N, x, y = map(int, input().split())

# Инициализируем список для хранения пар координат соседних клеток
neighbors = []

# Проверяем, есть ли соседняя клетка слева
if x > 1:
neighbors.append((x - 1, y))

# Проверяем, есть ли соседняя клетка справа
if x < M:
neighbors.append((x + 1, y))

# Проверяем, есть ли соседняя клетка сверху
if y > 1:
neighbors.append((x, y - 1))

# Проверяем, есть ли соседняя клетка снизу
if y < N:
neighbors.append((x, y + 1))

# Выводим пары координат соседних клеток
for neighbor in neighbors:
print(neighbor[0], neighbor[1])


Для решения данной задачи мы используем четыре условных оператора, чтобы проверить, есть ли соседние клетки слева, справа, сверху и снизу от данной клетки. Если соседняя клетка существует, мы добавляем ее координаты в список `neighbors`. Затем мы выводим пары координат соседних клеток из этого списка.