Напишите программу Требуется определить, бьет ли ладья, стоящая на клетке с указанными координатами...

Тематика Информатика
Уровень 5 - 9 классы
шахматы ладья координаты бьет фигура алгоритм проверка условия программирование входные данные выходные данные
0

Напишите программу Требуется определить, бьет ли ладья, стоящая на клетке с указанными координатами (номер строки и номер столбца), фигуру, стоящую на другой указанной клетке. Входные данные Вводятся четыре числа: координаты ладьи (два числа) и координаты другой фигуры (два числа), каждое число вводится в отдельной строке. Координаты - целые числа в интервале от 1 до 8.

Выходные данные Требуется вывести слово YES, если ладья сможет побить фигуру за 1 ход и NO - в противном случае.

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

3 Ответа

0

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

Подход к решению:

  1. Ввод данных:

    • Получаем координаты ладьи: ( \text{row1}, \text{col1} ).
    • Получаем координаты другой фигуры: ( \text{row2}, \text{col2} ).
  2. Логика проверки:

    • Ладья бьет фигуру, если:
      • Номера строк совпадают (( \text{row1} = \text{row2} )), что означает, что фигура находится на той же горизонтали.
      • Или номера столбцов совпадают (( \text{col1} = \text{col2} )), что означает, что фигура находится на той же вертикали.
  3. Вывод результата:

    • Если одно из условий выполняется, вывести "YES".
    • В противном случае, вывести "NO".

Пример программы на Python:

# Ввод координат ладьи
row1 = int(input("Введите номер строки, где находится ладья: "))
col1 = int(input("Введите номер столбца, где находится ладья: "))

# Ввод координат другой фигуры
row2 = int(input("Введите номер строки, где находится другая фигура: "))
col2 = int(input("Введите номер столбца, где находится другая фигура: "))

# Проверка, может ли ладья побить фигуру
if row1 == row2 or col1 == col2:
    print("YES")
else:
    print("NO")

Объяснение работы программы:

  • Ввод данных: Программа последовательно запрашивает у пользователя четыре числа, представляющие координаты ладьи и другой фигуры.
  • Проверка условий: Используя простое условие if, программа проверяет, находятся ли ладья и фигура на одной горизонтали или вертикали.
  • Вывод: В зависимости от выполнения условия, программа выводит "YES" или "NO".

Таким образом, программа эффективно определяет возможность атаки ладьей на основе её правил движения по шахматной доске.

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

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

if x1 == x2 or y1 == y2:

print("YES")

else:

print("NO")

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

Пример программы на Python:

# Ввод координат
rook_x = int(input())
rook_y = int(input())
figure_x = int(input())
figure_y = int(input())

# Проверка на возможность бить фигуру
if rook_x == figure_x or rook_y == figure_y:
    print("YES")
else:
    print("NO")

Эта программа сначала считывает четыре числа - координаты ладьи и координаты другой фигуры. Затем программа проверяет, находятся ли ладья и фигура на одной горизонтали или вертикали. Если да, то программа выводит "YES", иначе - "NO".

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

Ваш ответ

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