Системы счисления(36 задач)
"Длинная" арифметика(58 задач)
Простые числа и разложение на множители(45 задач)
Остатки(21 задач)
Быстрое возведение в степень(3 задач)
Быстрое преобразование Фурье(3 задач)
У Пети имеется неограниченный набор красных, синих и зеленых плиток размером 1×1. Он выбирает ровно N плиток и выкладывает их в полоску. Например, при N = 10 она может выглядеть следующим образом:
К | К | К | С | З | К | К | З | К | С |
(Буквой К обозначена красная плитка, С – синяя, З – зеленая)
После этого Петя заполняет следующую таблицу:
| красный | синий | зеленый |
красный | Y | Y | Y |
синий | Y | N | Y |
зеленый | Y | Y | N |
В клетке на пересечении строки, отвечающей цвету А, и столбца, отвечающего цвету Б, он записывает "Y", если в его полоске найдется место, где рядом лежат плитки цветов А и Б и "N" в противном случае. Считается, что плитки лежат рядом, если у них есть общая сторона. (Очевидно, что таблица симметрична относительно главной диагонали – если плитки цветов А и Б лежали рядом, то рядом лежали и плитки цветов Б и А.) Назовем такую таблицу диаграммой смежности данной полоски.
Так, данная таблица представляет собой диаграмму смежности приведенной выше полоски.
Петя хочет узнать, сколько различных полосок имеет определенную диаграмму смежности. Помогите ему.
(Заметьте, что полоски, являющиеся отражением друг друга, но не совпадающие, считаются разными. Так, полоска
С | К | З | К | К | З | С | К | К | К |
не совпадает с полоской, приведенной в начале условия.)
Формат входных данных
Первая строка входного файла содержит число N. (1 N 100). Следующие три строки входного файла, содержащие по три символа из набора {"Y", "N"}, соответствуют трем строкам диаграммы смежности. Других символов, включая пробелы, во входном файле не содержится. Входные данные корректны, т.е. диаграмма смежности симметрична.
Формат выходных данных
Выведите в выходной файл количество полосок длины N, имеющих приведенную во входном файле диаграмму смежности.
Примеры
Входные данные | Выходные данные |
10 YYY YNY YYN | 4596 |
3 YYY YYY YYY | 0 |
Однажды \(n\) котят решили покушать пирожков. Однако котят много, поэтому им непросто выбрать начинку, которая всех порадует. Известно, что группа из не более чем \(k\) котят всегда может прийти к консенсусу, а вот большая группа обязательно разобъётся на две, принципиально несогласные друг с другом. Котята — существа справедливые, поэтому размеры этих групп будут отличаться не более, чем на один.
Группы, размер которых всё ещё окажется больше \(k\) после такого разделения, продолжат спорить и разделяться на меньшие по тому же принципу. Определите, сколько групп котят в итоге отправятся за пирожками.
В единственной строке входного файла записаны целые числа \(n\) и \(k\) — количество котят и критический размер группы, соответственно (\(1 \le n, k \le 10^{100}\)). Числа записаны без ведущих нулей.
Выведите единственное целое число — итоговое количество групп. Число должно быть также записано без ведущих нулей.
17 4
5
Из множества всех натуральных чисел от \(1\) до \(N\) требуется выделить такое подмножество, чтобы в нем не было бы никаких двух чисел, отличающихся ровно в два раза (то есть если некоторое число \(X\) входит в это подмножество, то число \(2X\) заведомо в него не входит).
Напишите программу, которая по введенному числу N определяет, какое наибольшее количество чисел от \(1\) до \(N\) может быть включено в такое подмножество.
Например, для \(N=8\) ответ \(5\), подмножество может быть таким: \(1, 3, 4, 5, 7\).
Вводится одно натуральное число \(N\) (\(1\) ≤ \(N\) ≤ \(10^9\)).
Выведите искомое максимальное количество чисел от \(1\) до \(N\), которые могут быть включены в подмножество так, чтобы в этом подмножестве не оказалось бы чисел, отличающихся ровно в два раза.
8
5
50
33
Вася увлекается изобретением новых последовательностей и их исследованием. В этот раз он выписал на доске последовательность:
1 2 3 2 3 4 3 4 5 4 5 6 5 6 7...После этого Вася задался вопросом, на каком месте в ней впервые встретится число \(k\)?
Напишите программу, которая ответит на его вопрос.
Вводится натуральное число \(k\) (\(1 ≤ k ≤ 100\)).
Выведите одно число – искомую позицию, на которой первый раз встретилось число \(k\). Члены последовательности нумеруются с единицы.
1
1
2
2
4
6
Помимо составления последовательностей, летом Вася очень любил смотреть в окно. Напротив его дома расположился офис некоторой строительной фирмы. В течение всего месяца Вася наблюдал за его служащими. Про каждый из 31 дня месяца он знает, сколько сотрудников пришло на работу. Ему также известно, что каждый из служащих берет ровно по 4 выходных в месяц.
Теперь он ломает голову над загадкой – сколько всего сотрудников работает в этом офисе. Напишите программу, которая ответит Васе на этот вопрос.
Вводится 31 целое неотрицательное число. Эти числа описывают количество работников, пришедших в офис в соответствующие дни месяца. Гарантируется, что входные данные корректны.
Выведите единственное число – общее количество работников офиса. Гарантируется, что ответ не превышает 100.
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 0 0 0 0
10