
Ержится целое число N (2 ≤ N ≤ 109) — начальное количество чисел на доске. Во второй строке
содержится целое число X (1 ≤ X ≤ N) — число, которое должно остаться в конце игры. Выходные данные Выведите последовательность целых чисел, состоящую из чисел 1 и 2 — ходов Васи. Число 1 означает, что Вася стирает все числа на нечётных позициях, число 2 — на чётных. Каждый ход Васи выводите на отдельной строке. Система оценки В этой задаче 20 тестов, не считая тестов из условия. За каждый пройденный тест будет начисляться 5 баллов. На тесты наложены следующие ограничения: Номера тестов Дополнительные ограничения 1 – 2 Тесты из условия 3 – 10 N ≤ 1000 11 X = 1 12 – 14 X = N 15 – 22 без дополнительных ограничений

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

Ответ:
n, result = int(input()), int(input())
spis = list(range(1, n + 1))
while spis != [result]:
index = spis.index(result) + 1
if index % 2 != 0:
spis = list(filter(lambda x: spis.index(x) % 2 == 0, spis))
print(2)
else:
spis = list(filter(lambda x: spis.index(x) % 2 != 0, spis))
print(1)
Объяснение:
python 3.0
40 баллов



Эта задача кажется связанной с удалением чисел на доске в определенной последовательности. По вашему описанию, я понимаю, что у нас есть доска с числами от 1 до N, и Вася должен выбирать, какие числа стереть, чтобы в конце осталось число X.
Давайте рассмотрим алгоритм для этой задачи. Для каждого хода Васи будем рассматривать четные и нечетные позиции чисел на доске.
```python def vasya_moves(N, X): moves = [] # Если X = 1, то Вася будет удалять числа на нечетных позициях, иначе - на четных move_type = 1 if X == 1 else 2 # Делаем ходы, пока не останется только число X while N > 1: # Добавляем текущий ход Васи в список moves.append(move_type) # Уменьшаем N (размер доски) на 1, так как Вася удаляет одно число на каждом ходу N -= 1 # Меняем тип хода (четный на нечетный и наоборот) move_type = 3 - move_type # Добавляем последний ход, который оставит только число X moves.append(move_type) return moves
# Пример использования функции N = 5 X = 3 result = vasya_moves(N, X)
# Выводим результат for move in result: print(move) ```
Этот код создает последовательность ходов Васи в соответствии с описанным алгоритмом. Вы можете использовать этот код как основу и адаптировать его к требованиям вашей задачи.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili