---> 1657 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 273 274 275 276 277 278 279 >> Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

У нас есть две кучки камней, изначально в каждой по одному камню. За один ход можно добавлять один камень в одну из кучек, если в ней меньше N камней. Игра заканчивается, когда в обеих кучках будет N камней.

Не странно, что в нашей школе любят простые числа. Поэтому позиция в игре считается хорошей, если после приписывания к количеству камней в первой кучке количества камней во второй кучке получится простое число.

Например, если в первой кучке 12 камней, а во второй – 7, то позиция хорошая, т.к. число 127 простое.

Ваша задача найти такую последовательность ходов, при которой можно перейти из начальной позиции (1, 1) в конечную (N, N) через максимально возможное число хороших позиций. Например, для N = 4 одна из искомых последовательностей такова: 1; 1 -> 2; 1 -> 3; 1 -> 4; 1 -> 4; 2 -> 4; 3 -> 4; 4

Входные данные

Входной файл содержит одно число N. Гарантируется, что 1 ≤ N ≤ 999.

Выходные данные

Выведите максимально возможное число хороших позиций для данного N (в приведенном примере оно равно трем: 31, 41, 43).

Примеры
Входные данные
4
Выходные данные
3
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
256 megabytes

Дядя Фёдор, кот Матроскин и Шарик решили обновить забор вокруг своего сада в Простоквашино. Матроскин и Шарик, недолго думая, вкопали N столбов вдоль одной из сторон участка. Это очень сильно расстроило Дядю Фёдора, так как его друзья забыли о самом главном — калитка должна находиться именно на этой стороне, и для неё необходимо было оставить проём шириной как минимум W. Теперь им придётся выкапывать некоторые столбы.

Чтобы работа не пропадала даром, выкопать надо как можно меньше столбов. Помогите Дяде Фёдору определить, какие именно столбы надо выкопать. После выкапывания столбов должен найтись промежуток (между двумя оставшимися столбами, или между оставшимся столбом и концом стороны участка, или между двумя концами стороны участка) ширины больше или равной W.

Входные данные

Первая строка содержит два целых числа N и W — количество вкопанных столбов и минимально необходимую ширину проёма для калитки соответственно. Гарантируется, что 0 ≤ N ≤ 1 000 000 и что 0 ≤ W ≤ 1 000 000.

Будем считать, что вдоль интересующей нас стороны участка введена ось координат. Во второй строке входного файла находятся два числа L и R — координаты левого и правого конца этой стороны (L ≤ R). Далее следуют N чисел — координаты вкопанных столбов. Все координаты (включая L и R) — различные целые числа, по модулю не превосходящие 1 000 000. Гарантируется, что все столбы вкопаны между левым и правым концами стороны.

Выходные данные

В первой строке выходного файла должно быть минимальное число столбов, которые надо выкопать. Далее должны следовать номера этих столбов. Столбы нумеруются в том порядке, как они указаны во входном файле, начиная с 1.

Если решений несколько, то вы можете вывести любое. Если решения нет, то выведите в выходной файл одну строку, содержащую число  - 1.

Система оценивания

Система тестов состоит из трёх групп.

Для всех тестов первой группы выполняются ограничения \(1 \le n \le 8000\). Группа оценивается в 40 баллов.

Для всех тестов второй группы выполняются ограничения \(1 \le n \le 100000\). Группа оценивается в 40 баллов.

Для всех тестов третьей группы выполняются ограничения \(1 \le n \le 1000000\). Группа оценивается в 20 баллов.

Примеры
Входные данные
3 2
2 6
3 4 5
Выходные данные
1
1
Входные данные
3 2
1 6
4 3 5
Выходные данные
0
Входные данные
3 5
1 7
5 3 4
Выходные данные
3
2
3
1
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Том Сойер, блуждая по лабиринту, записывал карандашом изменения в направлении своего движения и сколько шагов он прошел в том или ином направлении. Его запись могла выглядеть так: F 5 R 1 B 2 L 1. Здесь F означает движение вперед (F может быть только первым и обязательным элементом в записи пути), R — поворот направо, L — налево, B — движение назад (видимо, путник зашел в тупик), число после буквы обозначает количество шагов, сделанных после изменения направления. Другие обозначения в записи не встречаются.

Выбравшись из лабиринта, Том решил нарисовать схему своего движения. Однако, если линия на схеме попадала в какую-либо часть лабиринта повторно, то он сразу стирал в схеме ту часть маршрута, которая заведомо оказалась лишней в процессе поиска выхода, не меняя остальные части. Тем не менее, оказалось, что в результирующем маршруте сначала хотя бы один шаг потребуется сделать в первом направлении исходного маршрута. Опишите маршрут, получившийся на схеме Тома.

Входные данные

Во входном файле приводится запись всего маршрута Тома в одной строке. Буква F является первой и встречается один раз. После каждой буквы через 1 пробел расположено натуральное число, не превосходящее 9. Следующая буква расположена также ровно через 1 пробел после числа. Количество изменений в направлении не превосходит 10.

Выходные данные

Ответ выдать в том же формате, что и входные данные (он также будет начинаться с буквы F).

Примеры
Входные данные
F 5 R 1 B 2 L 1
Выходные данные
F 5 L 1 L 1
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
128 megabytes

Помимо известной операции сложения двух строк, введем операцию умножения целого неотрицательного числа a на строку s, означающую повторение строки s a раз (при a = 0 мы получаем пустую строку).

Даны строки x и z длиной не более 250 символов. Требуется найти такую минимально возможную по длине строку y, что для некоторого натурального i и целого неотрицательного a, будет выполняться следующее: подстрока(ax + y, i, k) = z, здесь i означает, с какого символа берется подстрока, k — длина подстроки строки ax + y. Нумерация символов в строке начинается с 1.

Входные данные

В первой строке вводится строка x, во второй строке вводится строка z. Каждая строка состоит только из маленьких латинских букв и имеет длину не более 250 символов.

Выходные данные

Выведите минимальную по длине искомую строку y.

Примечание

В первом тесте ответ — пустая строка, a = 2, i = 2.

Во втором тесте a = 1, i = 2.

В третьем тесте a = 0, i = 1.

Примеры
Входные данные
mama
amamam
Выходные данные
Входные данные
mam
amamam
Выходные данные
amam
Входные данные
ura
mura
Выходные данные
mura
#111708
  
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
128 megabytes

Петя очень любит наблюдать за электронными часами. Он целыми днями смотрел на часы и считал, сколько раз встречается каждая цифра. Через несколько месяцев он научился по любому промежутку времени говорить, сколько раз на часах за это время встретится каждая цифра, и очень гордился этим.

Вася решил проверить Петю, но он не знает как решать эту задачу. Вася попросил вас помочь ему. Напишите программу, решающую эту задачу.

Входные данные

Первая и вторая строки входного файла содержат начало и конец промежутка времени соответственно. Начальное время не превосходит конечное. Время задается в формате hh : mm : ss (0 ≤ hh < 24, 0 ≤ mm < 60, 0 ≤ ss < 60). hh, mm, ss дополнены ведущими нулями до двух символов. Эти нули также учитываются при подсчете числа цифр.

Выходные данные

Выходной файл должен содержать 10 строк. В i-ой строке должно быть написано, сколько раз встречается цифра i - 1.

Примеры
Входные данные
23:59:58
23:59:59
Выходные данные
0
0
2
2
0
4
0
0
1
3

Страница: << 273 274 275 276 277 278 279 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест