Top.Mail.Ru
Ответы

Где ошибка в моем решении этой задачи??? Язык: (C++)

вот задача :Шахматный слон ходит по диагонали. Даны две различные клетки шахматной доски, определите, может ли слон попасть с первой клетки на вторую одним ходом.
Формат входных данных
Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки.
Формат выходных данных
Программа должна вывести YES, если из первой клетки ходом слона можно попасть во вторую или NO в противном случае.
Sample Input:
4
4
5
5
Sample Output:
YES

что не так в моем ответе???
#include
using namespace std;
int main() {
int a1,b1,a2,b2;
cin >> a1 >> b1 >> a2 >> b2;
if (a1 == b2 - 1 && b1 == a2 - 1 || a2-a1 == 1 && b2-b1 == 1) { cout << "YES";
}
else { cout << "NO";
}

return 0;
}

Дополнен

#include есть, только не копируется

Дополнен

(iostream)

Дополнен

Я сделал так, потому что слон двигается по диагонали, а это означает что координаты меняются вместе

По дате
По рейтингу
Аватар пользователя
Новичок
7лет

Модули разностей координат должны быть одинаковыми.
|a1-a2|=|b1-b2|

Аватар пользователя
Оракул
7лет

if((a1!=a2) && abs(a1-a2) == abs(b1-b2) ){....
//первое чтоб на одну клетку не попали