Задачка про шахматную доску (Python)
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8. По введенным координатам двух полей
(k,l)и(m,n)выясните, являются ли эти поля полями одного цвета?Входные данные
На вход программе подаются четыре целых числа k,l,m,n.Выходные данные
Выведите YES или NO в зависимости от ответа на вопрос задачи.
Ввожу вот такое решение:
k = int(input())
l = int(input())
m = int(input())
n = int(input())
if((k == l) and (m == n) and (k,l,m,n < 8)):
print("YES")
else:
print("NO")
Пишет, что решение не верное.
Ответы (5 шт):
k = int(input())
l = int(input())
m = int(input())
n = int(input()) # or k, l, m, n = (int(input()) for _ in range(4))
print("YES" if not ((k + l + m + n) % 2) else "NO")
Вот самое понятное решение, как по мне
x1 = int(input())
y1 = int(input())
x2 = int(input())
y2 = int(input())
if (x1 + y1 + x2 + y2) % 2 == 0:
print('YES')
else:
print('NO')
n=int(input())
k=int(input())
b=int(input())
a=int(input())
v=(n+k)
d=(b+a)
if v%2==0 and d%2==0 or v%2!=0 and d%2!=0:
print("YES")
else:
v%2!=d%2
print("NO")
Очевидно, что координаты "черных" клеток будут в сумме четными, а "белых" - нечетными. Нужно проверить, является ли сумма попарных координат четными, и сравнить по этому признаку с другой парой координат. Проще всего проверить на четность (l+k+n+m). Если одна пара четная, а другая нет - значит мы получим нечетное число - клетки разного цвета. Если обе пары четные (или нечетные) - сумма будет четной, значит клетки, как минимум, одного цвета
k = int(input())
l = int(input())
m = int(input())
n = int(input())
if (((k % 2 == 0 and l % 2 == 0) or (k % 2 == 1 and l % 2 == 1)) and
((m % 2 == 0 and n % 2 == 0) or (m % 2 == 1 and n % 2 == 1))):
print('YES')
elif (((k % 2 == 0 and l % 2 == 1) or (k % 2 == 1 and l % 2 == 0)) and
((m % 2 == 0 and n % 2 == 1) or (m % 2 == 1 and n % 2 == 0))):
print('YES')
else:
print('NO')