Помогите решить(python 3.1) Шахматная ладья ходит по горизонтали или вертикали. Даны две различные клетки...

Тематика Информатика
Уровень 5 - 9 классы
y1 x2 y2 = map(int ладья python шахматная доска проверка хода программирование условия логика
0

помогите решить(python 3.1) Шахматная ладья ходит по горизонтали или вертикали. Даны две различные клетки шахматной доски, определите, может ли ладья попасть с первой клетки на вторую одним ходом.

Входные данные

Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки.

Выходные данные

Программа должна вывести YES, если из первой клетки ходом ладьи можно попасть во вторую или NO в противном случае.

avatar
задан 3 месяца назад

2 Ответа

0

Для решения данной задачи можно использовать следующий алгоритм на Python 3.1:

x1 = int(input())
y1 = int(input())
x2 = int(input())
y2 = int(input())

if x1 == x2 or y1 == y2:
    print("YES")
else:
    print("NO")

В данном коде мы считываем координаты двух клеток (x1, y1) и (x2, y2) и затем проверяем, может ли ладья попасть с первой клетки на вторую одним ходом. Если координаты по горизонтали или вертикали совпадают, то выводим "YES", иначе выводим "NO".

Пример работы программы:

Входные данные:
1
1
1
8

Выходные данные:
YES
Входные данные:
1
1
3
4

Выходные данные:
NO

avatar
ответил 3 месяца назад
0

Для решения задачи, нужно учитывать правила хода шахматной ладьи. Ладья ходит только по горизонтали или вертикали, то есть она может перемещаться по клеткам, находящимся в одном ряду или одном столбце.

Давайте рассмотрим алгоритм для решения задачи:

  1. Вводим четыре числа, которые представляют координаты двух клеток на шахматной доске.
  2. Проверяем, находятся ли эти клетки в одном ряду или одном столбце.
  3. Если клетки находятся в одном ряду или столбце, выводим "YES". В противном случае, выводим "NO".

Реализуем этот алгоритм на Python:

# Ввод координат первой клетки
x1 = int(input("Введите номер столбца первой клетки (от 1 до 8): "))
y1 = int(input("Введите номер строки первой клетки (от 1 до 8): "))

# Ввод координат второй клетки
x2 = int(input("Введите номер столбца второй клетки (от 1 до 8): "))
y2 = int(input("Введите номер строки второй клетки (от 1 до 8): "))

# Проверка условий для хода ладьи
if x1 == x2 or y1 == y2:
    print("YES")
else:
    print("NO")

Разберем код подробнее:

  1. x1, y1, x2, y2 - это координаты первой и второй клетки соответственно. Мы принимаем их как входные данные от пользователя.
  2. Поскольку ладья ходит по горизонтали или вертикали, проверяем два условия:
    • Если номера столбцов (x1 и x2) совпадают, это означает, что клетки находятся в одном столбце.
    • Если номера строк (y1 и y2) совпадают, это означает, что клетки находятся в одном ряду.
  3. Если выполняется хотя бы одно из этих условий (x1 == x2 или y1 == y2), выводим "YES". В противном случае, выводим "NO".

Этот код решает поставленную задачу, проверяя возможность перемещения ладьи с одной клетки на другую за один ход.

avatar
ответил 3 месяца назад

Ваш ответ

Вопросы по теме