Ход коня на с++
Шахматный конь ходит буквой «Г» — на две клетки по вертикали в любом направлении и на одну клетку по горизонтали или наоборот. Даны две различные клетки шахматной доски, определите, может ли конь попасть с первой клетки на вторую за один ход.
Входные данные
Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки.
Выходные данные
Программа должна вывести YES, если из первой клетки ходом коня можно попасть во вторую, или NO в противном случае.
Примеры
Ввод
Вывод
2
4
3
2
YES
1
1
1
4
NO
int x1, y1, x2, y2;
cin >> x1 >> y1 >> x2 >> y2;
cout << (abs((x1 - x2) * (y1 - y2)) == 2 ? "YES" : "NO");
Или так:
string r[]{"NO", "YES"};
int x1, y1, x2, y2;
cin >> x1 >> y1 >> x2 >> y2;
cout << r[abs((x1 - x2) * (y1 - y2)) == 2];
#include <iostream>
using namespace std;
int main() {
int a,b,c,d;
cin>>a>>b>>c>>d;
if (a+1 ==c && b+2==d){
cout<<"YES";
}
else if (a+1 ==c && b-2==d){
cout<<"YES";
}
else if (a-1 ==c && b+2==d){
cout<<"YES";
}
else if (a-1 ==c && b-2==d){
cout<<"YES";
}
else if (a-2 ==c && b-1==d){
cout<<"YES";
}
else if (a-2 ==c && b+1==d){
cout<<"YES";
}
else if (a+2 ==c && b-1==d){
cout<<"YES";
}
else if (a+2 ==c && b+1==d){
cout<<"YES";
}
else {
cout<<"NO";
}
return 0;
}
на сириусе выдаёт правильный ответ