Страница: << 88 89 90 91 92 93 94 >> Отображать по:
#111296
  
Источники: [ Командные олимпиады, ВКОШП, 2011, Задача K ]
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

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

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

Династия представляет собой множество людей, один из которых называется основателем династии, а любой другой представитель династии \(U\) имеет отца \(V\), являющегося представителем династии. При этом \(U\) является сыном \(V\), или потомком \(U\) через \(1\) поколение. Потомком \(U\) через \(k+1\) поколение называется сын \(V\) некоторого потомка \(U\) через \(k\) поколений.

Глеба интересует информация о том, сколько у некоторого представителя династии \(V\) существует потомков через \(k\) поколений. Разумеется, Глеба интересует далеко не один такой вопрос.

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

В первой строке входного файла содержится одно число \(n\) — количество человек в династии, которую исследует Глеб (\(1 \le n \le 10^5\)), представители династии пронумерованы различными натуральными числами от 1 до \(n\). Далее следуют \(n\) чисел, \(i\)-е из которых задает номер отца \(i\)-го представителя династии, или равно \(-1\), если соответствующий представитель является основателем династии.

Гарантируется, что основатель династии ровно один, и что любой упомянутый представитель династии явялется потомком основателя династии.

В следующей строке содержится число \(m\) — количество вопросов, которое интересует Глеба (\(1 \le m \le 10^5\)). Далее следует \(m\) строк, каждая из которых содержит два целых числа \(v\) и \(k\) (\(1 \le v \le n\), \(1 \le k \le 10^9\)) — номер исследоваемого представителя династии и интересущее Глеба число поколений.

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

Для каждого вопроса выведите одно число — количество потомков через соответсвующее число поколений у заданного представителя династии.

Примеры тестов
Входные данные
5
-1 1 2 1 4
2
1 2
4 7
Выходные данные
2
0
В первом запросе у представителя династии номер 1 есть два потомка во 2 поколении: 3 и 5.
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Как непросто быть школьником! Именно такие мысли чаще всего посещают Петю после уроков математики. Сегодня учительница рассказывала, что такое простые числа. Петя впервые услышал о них. Оказывается, простое число — это такое натуральное число, которое имеет ровно два различных натуральных делителя, то есть делится без остатка только на единицу и на само себя. После урока Петя и его друг Сережа придумали такую игру: один называет два числа A и B, а другой говорит, сколько нулей на конце произведения всех простых между A и B включительно. Петя заметил, что Сережа отвечает на вопрос намного быстрее, чем он сам, и очень просит вас ему помочь. Напишите для Пети программу, которая будет отвечать на вопросы Сережи.

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

На вход подается два числа A, B (1 ≤ A ≤ B ≤ 109), разделенных пробелом. Гарантируется, что между A и B есть хотя бы одно простое число.

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

Выведите количество нулей, на которое заканчивается произведение всех простых чисел на отрезке от A до B.

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

Саша и Лиза — две самые обычные девочки, которые живут в Москве и очень любят Санкт-Петербург. На каникулы они запланировали обширную экскурсионную программу в северной столице, осталось только купить билеты. Девочки знают, что быстрее всего добраться до Санкт-Петербурга можно на скоростном поезде «Сапсан». В каждом вагоне есть N рядов, в каждом из которых по 4 места, которые нумеруются так:

1 2 4 3
5 6 8 7
9 10 12 11
13 14 16 15
17 18 20 19
21 22 24 23
.

.

.
.

.

.
.

.

.
.

.

.

Саша и Лиза выбрали вагон, в котором они планируют ехать. Оказалось, что в этом вагоне уже продано M билетов и известно, какие места уже заняты. Девочки решили купить билеты таким образом:

  • если есть два места рядом, то они покупают их (например, 1 и 2 или 3 и 4)
  • если двух мест рядом нет, то они пытаются купить места рядом через проход (например, 2 и 4)
  • если нет и таких мест, то они покупают любые два свободных места.
  • Помогите Саше и Лизе определить, какие места им стоит купить. Гарантируется, что в выбранном вагоне есть как минимум два свободных места.

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

В первой строке входных данных содержатся числа N — количество рядов в вагоне (1 ≤ N ≤ 105) и M — количество проданных билетов (1 ≤ M ≤ 4N - 2). В следующей строке записаны M различных чисел — номера мест, на которые билеты уже проданы.

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

Выведите два числа — номера мест, билеты на которые стоит купить девочкам. Если возможны несколько вариантов ответа, выведите любой из них.

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

Восьмиклассник Вениамин использует в качестве паролей только слова, которые есть в словаре, лежащем у него дома. Еще Вениамин знает, что его пятилетний брат Денис мечтает взломать его страницу в одной популярной социальной сети. Каждый раз, когда Вениамин вводит пароль, Денис стоит рядом и пытается запомнить, какие же кнопки его брат нажимает на клавиатуре. К сожалению, у Дениса не очень хорошая память, поэтому запоминает он только первую букву пароля, а когда Вениамин уходит в школу, берет словарь, лежащий у них дома (Денис точно знает, что Вениамин в качестве пароля использует слово из этого словаря), и по очереди пробует в качестве пароля все слова, начинающиеся на эту букву, причем пробует их в алфавитном порядке.

По списку всех слов в словаре помогите Вениамину выбрать пароль. Он должен быть такой, чтобы Денису пришлось перебрать как можно больше вариантов, прежде чем он найдет нужный.

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

В первой строчке вводится N — количество слов в cловаре (1 ≤ N ≤ 103). В следующих N строчках вводятся слова — строки длиной не более 255 символов, состоящие только из маленьких латинских букв. Слова отсортированы в алфавитном порядке.

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

Выведите искомый пароль. Если подходящих паролей несколько, выведите тот, который идёт в словаре позже всех остальных.

Примеры
Входные данные
7
arhimed
computer
contest
informatics
programming
python
team
Выходные данные
python
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Алиса и Боб — очень опытные шпионы. Лучше всего им удается находить пароли для доступа к различным секретным данным. Вот и в этот раз Алиса получила от Боба сообщение, в котором говорилось, что ключом является число и далее шло само это число. Также Боб писал, что число-ключ должно делиться на 9. Когда Алиса попробовала ввести полученный пароль, то оказалось, что он не подходит. Алиса очень доверяет Бобу, и поэтому она решила, что Боб мог ошибиться только в одной цифре пароля. Поскольку у Алисы не так много времени, она решила не выяснять у Боба правильный ответ, а перебрать все числа, которые могли бы быть паролем, т.е. все такие числа, которые могут быть получены из того числа, которое прислал Боб, заменой ровно одной из его цифр и делятся на 9. За помощью Алиса обратилась к вам. Напишите программу, которая предложит Алисе все возможные варианты пароля.

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

Во входных данных содержится единственное число P (1 ≤ P ≤ 109) — то число, которая Алиса получила в сообщении от Боба. Гарантируется, что оно не начинается с нуля.

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

Выведите в столбик все возможные варианты паролей, которые нужно перебрать Алисе, в произвольном порядке. Ни одно из полученных вами чисел не должно начинаться с нуля. Все возможные варианты паролей должны содержать столько же цифр, сколько и исходное число, полученное Алисой.

Примеры
Входные данные
256
Выходные данные
756
216
252

Страница: << 88 89 90 91 92 93 94 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест