Двоичный замок

gterm

Новичок
Пользователь
Ноя 29, 2023
2
0
1
Скважина замка представляет собой последовательность выемок и выступов одинаковой ширины. Ключ также представляет собой пластинку с выемками и выступами одинаковой ширины. Все выступы (и ключа, и скважины) имеют одинаковые размеры. Ключ открывает замок, если при вставке нет пары “выступ, выступ” и у ключа есть хотя бы один выступ. Ключ входит в замок только одной стороной, переворачивать его нельзя.
Нужно подобрать отмычку.

Формат ввода
Даны два целых числа, разделённые переводом строки. 0 ≤ a ≤ 1023, 0 ≤ b ≤ 1023. Первое число кодирует отмычку, второе — скважину. Каждый 0 битового представления этих чисел кодирует выемку, а 1 — выступ.

Формат вывода
Выведите ответ “True”, если отмычка откроет замок, и “False” в противном случае.

Примеры:
Ввод:
1
3
Вывод:
False

Ввод:
1
1022
Вывод:
True

Код решения:

Python:
a = int(input())

b = int(input())

if 0 <= a <= 1023 and 0 <= b <= 1023:
    if a % 2 and b % 2:
        print(False)
    elif a % 2 != 0 and b % 2 != 0:
        print(False)
    else:
        print(True)

В чем ошибка?
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
Ты проверяешь только последнюю цифру, последнюю выемку
 

Форум IT Специалистов