вввв31
05.11.2021 22:52

На уроке информатики учитель предложил Васе сыграть в следующую игру. На доске записаны по порядку все целые числа от 1 до N. За один ход можно стереть либо все числа, стоящие на чётных позициях, либо все числа, стоящие на нечётных позициях. После этого оставшиеся числа перенумеровываются заново слева направо; нумерация начинается с единицы.

Игра продолжается, пока на доске есть хотя бы два числа.

Вася выиграет, если после окончания игры единственным оставшимся на доске числом будет число X. Выведите последовательность ходов, которая приведёт к победе Васи. Гарантируется, что Вася всегда может победить.

Входные данные
В первой строке содержится целое число N (2 ≤ N ≤ 109) — начальное количество чисел на доске.

Во второй строке содержится целое число X (1 ≤ X ≤ N) — число, которое должно остаться в конце игры.

Выходные данные
Выведите последовательность целых чисел, состоящую из чисел 1 и 2 — ходов Васи. Число 1 означает, что Вася стирает все числа на нечётных позициях, число 2 — на чётных.

Каждый ход Васи выводите на отдельной строке.

Система оценки
В этой задаче 20 тестов, не считая тестов из условия. За каждый пройденный тест будет начисляться

На тесты наложены следующие ограничения:

Номера тестов

Дополнительные ограничения

1 – 2

Тесты из условия

3 – 10

N ≤ 1000

11

X = 1

12 – 14

X = N

15 – 22

без дополнительных ограничений

Примеры
Ввод

Вывод

Пояснение

10
5

2
2
1

На доске записаны числа:
1 2 3 4 5 6 7 8 9 10
Первым ходом Вася стирает все числа на чётных позициях, на доске остаются числа:
1 3 5 7 9
Затем позиции оставшихся чисел перенумеровываются — то есть оставшиеся после первого хода Васи числа получат номера от 1 до 5. Вторым ходом Вася снова удаляет все числа на чётных позициях, на доске остаются числа:
1 5 9
Третьим ходом Вася удаляет все числа на нечётных позициях, и на доске останется только число 5, которое и было нужно.

6
6

1
2
1

Во втором примере выписаны числа
1 2 3 4 5 6
Вася стирает числа на нечётных позициях, остаются
2 4 6
Вася стирает число 4, которое стоит на чётной позиции. Остаются
2 6
Вася стирает число 2, которое стоит на нечётной позиции. Осталось число 6.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ksuna2103
22.09.2022 16:13
Алгоритм выполнения домашнего задания.
Начало
Взять дневник.
Посмотреть домашние задания.
Распланировать последовательность выполнения заданий.
Распределить время выполнения.
Открыть нужные учебники и тетради.
Начать выполнять домашнее задание.
После их выполнения сложить учебники и тетради в портфель.
Конец.
Алгоритм рецепта приготовления пирога.
Начало.
Налить 250 мл кефира в стакан.
Взять 2 яйца.
Взять 1 стакан муки.
Взять 1 луковицу.
Взять 1 картофелину.
Взять 1 банку консервированной горбуши.
Взять 1/2 ложки гашенной соды.
Смешать в тарелке яйца, кефир, муку, соду.
Замешать тесто.
Нарезать картофель мелкой соломкой.
Половину полученного теста вылить в форму для запекания.
Выложить на него картофель.
Обжарить лук до прозрачности.
Разминаем горбушу.
Кладем ее вместе с луком к картофелю. 
Заливаем полученное второй половиной теста.
Разогреваем духовку до 180 градусов.
Выпекаем 40 минут.
Зубочисткой проверяем готовность пирога.
Конец.
Алгоритм мытья посуды.
Начало.
Берем губку.
Наносим на нее моющее средство. 
Грязную посуду складываем в раковину.
Протираем губкой посуду.
Включаем воду.
Смываем ею моющее средство с посуды.
Складываем чистую посуду в шкаф.
Конец.
Алгоритм путешествия Колобка в известной сказке.
Начало.
Уйти от бабушки с дедушкой.
Встретить зайца.
Уйти от него.
Встретить волка.
Уйти от него.
Встретить медведя.
Уйти от него.
Встретить лису.
Поверить лисе.
Оказаться съеденным. 
Конец.
0,0(0 оценок)
Ответ:
jamshidbek
22.04.2023 05:33
Var
  mas: array[1..9] of integer;
  max, min, i, j, k, n: integer;
begin
  writeln('Массив до перестановки');
  for i := 1 to 9 do
  begin
    mas[i] := random(11) - random(11);
    write(mas[i], ' ');
  end;
  writeln;
  max := mas[1];
  min := mas[1];
  k := 1;
  j := 1;
  for i := 1 to 9 do
  begin
    if mas[i] > max then
    begin
      max := mas[i];
      j := i;
    end;
    if mas[i] < min then
     begin
      min := mas[i];
      k := i;
    end;
  end;
  n := mas[j];
  mas[j] := min;
  mas[k] := n;
  writeln('Масств после перестановки');
  for i := 1 to 9 do
    write(mas[i], ' ');
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота