РЕШИТЬ ТОЛЬКО НА С++ Ход короля и шахматная нотация
Шахматный король ходит по горизонтали, вертикали и диагонали, но только на одну клетку. Даны две различные клетки шахматной доски, определите, может ли король попасть с первой клетки на вторую одним ходом.
Входные данные
Входной файл состоит из двух строк — координат первой и второй клетки в шахматной нотации.
Как известно, в шахматной нотации горизонтальные строки обозначаются цифрами от 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";}
}
Объяснение: