Есть ответ 👍

По проге!
макс и даниил играют в игру.

даниил написал на доске все целые числа от 1 до n. теперь он будет стирать числа, а макс должен указывать, какие числа следует стереть.

позиции чисел нумеруются слева направо, начиная с единицы. каждый раз, пока на доске остаются не менее двух чисел, макс может попросить даниила стереть либо все числа на чётных позициях, либо все числа на нечётных позициях.

после каждого стирания позиции чисел, оставшихся на доске, заново нумеруются слева направо, начиная с единицы.

макс победит в игре, если последним числом, оставшимся на доске, будет x. максу правильно указать даниилу, какие числа нужно стирать.

примеры
входные данные
10 1
выходные данные
0 0 0 0
входные данные
10 10
выходные данные
1 0 0 1

уменя такой код: (выдает тайм лимит)
n, x = map(int,
l = [i for i in range(1, n + 1)]
while n > 1:
if n % 2 == 1 and x % 2 == 1:
n //= 2
n += 1
else:
n //= 2
if x % 2 == 0:
print(1, end = ' ')
else:
print(0, end = ' ')
if x % 2 == 1:
x //= 2
x += 1
else:
x //= 2

можно записать так:
n, x = map(int,
l = [i for i in range(1, n + 1)]
while n > 1:
n = n // 2 + (n % 2 + x % 2) // 2
print(abs(x % 2 - 1), end = ' ')
x = (x + x % 2) // 2

140
152
Посмотреть ответы 1

Ответы на вопрос:


Для рекламы брендов и самой одежды.

Ведь это приносит много денег.

Популярно: Информатика