Форум сайта python.su
Шахматный конь ходит буквой “Г” — на две клетки по вертикали в любом направлении и на одну клетку по горизонтали, или наоборот. Даны две различные клетки шахматной доски, определите, может ли конь попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести YES, если из первой клетки ходом коня можно попасть во вторую или NO в противном случае. Или разъяснить почему на ввод мы должны давать 4 значения для 1-ой клетки и 4 для 2-ой клетки
Пример
Ввод
1
1
2
3
Вывод YES
1
1
3
3
Вывод NO
(Заранее благодарю)
Офлайн
AlexDosВ примере у вас все таки 4 числа, координаты 2 клеток по 2 значения, а в описании очепятка?
Или разъяснить почему на ввод мы должны давать 4 значения для 1-ой клетки и 4 для 2-ой клетки
Офлайн
x1 = input("x1 > ")
y1 = input("y1 > ")
x2 = input("x2 > ")
y2 = input("y2 > ")
print ["NO", "YES"][(x1-x2) * (y1-y2) in (-2, 2)] if 0 == reduce(lambda x,y:
((y-1)/8)|x, (x1,x2,y1,y2), 0) else "BAD INPUT"
Офлайн