
Вопрос задан 30.09.2023 в 12:27.
Предмет Информатика.
Спрашивает Чубаров Виктор.
РЕШИТЬ ТОЛЬКО НА С++ Ход короля и шахматная нотация Шахматный король ходит по горизонтали,
вертикали и диагонали, но только на одну клетку. Даны две различные клетки шахматной доски, определите, может ли король попасть с первой клетки на вторую одним ходом. Входные данные Входной файл состоит из двух строк — координат первой и второй клетки в шахматной нотации. Как известно, в шахматной нотации горизонтальные строки обозначаются цифрами от 1 до 8, считая от расположения белых фигур, стоящих внизу доски, а вертикальные столбцы — буквами латинского алфавита: a,b,c,d,e,f,g,h. Выходные данные Программа должна вывести YES, если из первой клетки ходом короля можно попасть во вторую, или NO в противном случае. Примеры Ввод a1 a2 a1 c2 Вывод YES NO

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

Отвечает Косарев Валерий.
Ответ:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int x1, y1, x2, y2;
char c1, c2;
cin >> c1 >> y1;
cin >> c2 >> y2;
x1 = c1 - 'a';
x2 = c2 - 'a';
if (abs(x1 - x2) <= 1 &&
abs(y1 - y2) <= 1){
cout << "YES";
}else{
cout << "NO";}
}
Объяснение:



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения этой задачи на C++ вы можете использовать следующий код:
cpp#include <iostream>
#include <cmath>
int main() {
char col1, col2;
int row1, row2;
// Ввод координат первой клетки
std::cin >> col1 >> row1;
// Ввод координат второй клетки
std::cin >> col2 >> row2;
// Вычисляем разницу в горизонтальных и вертикальных координатах
int colDiff = std::abs(col1 - col2);
int rowDiff = std::abs(row1 - row2);
// Проверяем, может ли король попасть из первой клетки во вторую одним ходом
if (colDiff <= 1 && rowDiff <= 1) {
std::cout << "YES" << std::endl;
} else {
std::cout << "NO" << std::endl;
}
return 0;
}
Этот код сначала считывает координаты обеих клеток, затем вычисляет разницу в горизонтальных и вертикальных координатах между ними, и, наконец, проверяет, можно ли королю попасть из одной клетки в другую одним ходом (горизонтальная и вертикальная разница должны быть не больше 1). В зависимости от результата, программа выводит "YES" или "NO".


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

Информатика 562

Информатика 404

Информатика 31

Информатика 76

Информатика 16

Информатика 41

Информатика 31
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili