Дана полоска из клеток, пронумерованных от 1 до N слева направо. Разрешено снимать или ставить фишку на клетку с номером 1 или на клетку, следующую за самой левой из установленных фишек. Изначально полоска пуста. Нужно разместить фишки во всех клетках.
Программа получает на вход количество клеток в полоске \(N\) \((1\le N\le 10)\).
Программа должна вывести последовательность номеров клеток, с которыми совершается действие. Если фишка снимается, то номер клетки должен выводиться со знаком минус. Количество действий не должно превышать \(10^4\). Если существует несколько возможных решений задачи, то разрешается вывести любое.
Тесты к этой задаче закрытые.
Ввод | Вывод |
---|---|
3 |
1 2 -1 3 1 |
В небоскребе \(n\) этажей. Известно, что если уронить стеклянный шарик с этажа номер \(p\), то шарик разобьется, и если уронить шарик с этажа номер \(p+1\), то он тоже разобьется. Также известно, что при броске с последнего этажа шарик всегда разбивается.
Вы хотите определить минимальный номер этажа, при падении с которого шарик разбивается. Для проведения экспериментов у вас есть два шарика. Вы можете разбить их все, но в результате вы должны абсолютно точно определить этот номер.
Определите, какого числа бросков достаточно, чтобы заведомо решить эту задачу.
Программа получает на вход количество этажей в небоскребе \(n\)
Требуется вывести наименьшее число бросков, при котором можно всегда решить задачу.
Тесты к этой задаче закрытые.
Комментарий к первому примеру. Нужно бросить шарик со 2-го этажа. Если он разобъется, то бросим второй шарик с 1-го этажа, а если не разобъется - то бросим шарик с 3-го этажа.
Подсказки.
1. Как следует действовать, если шарик был бы только один?
2. Пусть шариков два и мы бросили один шарик с этажа номер \(k\). Как мы будем действовать
в зависимости от того, разобъется ли шарик или нет?
3. Пусть f(n)
- это минимальное число бросков, за которое можно определить
искомый этаж, если бы в небоскребе было n
этажей. Выразите f(n)
через значения f(a)
для меньших значений a
.
4
2
7
3
Выведите все элементы списка с четными индексами
(то есть A[0]
, A[2]
, A[4]
, ...).
Программа должна быть эффективной и не выполнять лишних действий!
Вводится список чисел. Все числа списка находятся на одной строке.
Выведите ответ на задачу.
1 2 3 4 5
1 3 5
Выведите все четные элементы списка.
Вводится список чисел. Все числа списка находятся на одной строке.
Выведите ответ на задачу.
1 2 2 3 3 3 4
2 2 4
Найдите количество положительных (\(> 0\)) элементов в данном списке.
Вводится список чисел. Все числа списка находятся на одной строке.
Выведите ответ на задачу.
1 -2 3 -4 5
3