Вопрос задан 21.03.2021 в 23:27. Предмет Информатика. Спрашивает Минаев Алексей.

На шахматной доске в клетке (x1,y1) находится шахматный конь. Определите, бьёт ли конь поле

(x2,y2). На вход программе даются четыре целых числа x1, y1, x2, y2 (1≤x1,y1,x2,y2≤8) — координаты двух клеток на шахматной доске рамера 8×8. Требуется вывести 1, если поле находится под боем коня, или 0, если нет. РЕШИТЬ В С++
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Черяшов Никита.
Вот через питон, но суть одна и та же:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конь может бить поле (x2, y2), если расстояние по горизонтали между x1 и x2 равно 1, а расстояние по вертикали между y1 и y2 равно 2, или наоборот, если расстояние по горизонтали равно 2, а расстояние по вертикали равно 1.

Вот пример кода на C++, который решает эту задачу:

cpp
#include <iostream> #include <cmath> int main() { int x1, y1, x2, y2; std::cin >> x1 >> y1 >> x2 >> y2; int dx = std::abs(x1 - x2); int dy = std::abs(y1 - y2); if ((dx == 1 && dy == 2) || (dx == 2 && dy == 1)) { std::cout << 1 << std::endl; // Поле находится под боем коня } else { std::cout << 0 << std::endl; // Поле не находится под боем коня } return 0; }

В этом коде мы считываем координаты x1, y1, x2, y2 с помощью std::cin. Затем мы вычисляем расстояния dx и dy между x1 и x2, а также между y1 и y2 с помощью функции std::abs из заголовочного файла <cmath>. Затем мы проверяем, удовлетворяют ли расстояния условиям, чтобы конь мог бить поле (x2, y2), и выводим соответствующий результат с помощью std::cout.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос