Символы(9 задач)
    Строки(121 задач)
    Целые числа(112 задач)
    Битовые операции(28 задач)
    Логический тип(3 задач)
    Структуры(18 задач)
    Вещественные числа(33 задач)
    Множества(16 задач)
    Словари(21 задач)
---> 356 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 59 60 61 62 63 64 65 >> Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Рассмотрим компьютерную сеть с настроенной TCP/IP маршрутизацией. Будем рассматривать некоторую ее модификацию. А именно в этой сети находить N подсетей. Каждая подсеть характеризуется своей маской. Маска подсети представляет собой 4 однобайтных числа, разделенных точкой. Причем для масок выполнено следующее свойство: если представить маску в двоичном виде, то сначала она будет содержать k единиц, а потом q нулей, причем k + q = 32 . Например 255.255.255.0 — маска подсети, а 192.168.0.1 — нет.

Поясним, как получается двоичное представление IP-адреса. Для этого числа, составляющие IP-адрес, представляются в двоичной системе счисления (при этом каждое из них дополняется ведущими нулями до длины 8 цифр), после чего удаляются точки. Получившееся 32-битное число и есть двоичное представление IP-адреса. Например, для адреса 192.168.0.1 этот процесс выглядит так: 192.168.0.1 -> 11000000.10101000.00000000.00000001 -> 11000000101010000000000000000001. Таким образом, двоичным представлением IP-адреса 192.168.0.1 является 11000000101010000000000000000001.

Будем говорить, что два компьютера с IP 1 и IP 2 лежат в подсети, если IP 1 & Mask = IP 2 & Mask , где Mask — маска этой подсети, а & — операция побитового логического "и". IP компьютера представляет так же 4 однобайтных числа, разделенных точкой.

Вам даны M пар IP-адресов компьютеров. Для каждой из них Вам надо определить, в скольких подсетях из заданных они лежат.

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

В первой строке входного файла записано число N — количество подсетей. В следующий N строках перечислены маски этих подсетей. В N + 2 строке находится число M (0 ≤ M ≤ 100000) . В следующих M строках записаны пары IP-адресов, разделенных пробелом.

Все заданные маски подсетей различны.

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

Для каждой пары IP-адресов в отдельной строке выходного файла выведите количество подсетей, в которых лежат оба компьютера.

Примеры
Входные данные
2
255.255.255.255
255.255.255.0
3
192.168.31.1 192.168.31.2
192.168.31.3 192.168.31.4
192.168.31.1 192.167.31.2
Выходные данные
1
1
0
#112543
  
Темы: [Строки]
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Назовем качеством строки разность между максимальным и минимальным номерами в алфавите букв, входящих в строку. Например, качество строки ab равно 2 – 1 = 1 , а строки abcz равно 26 – 1 = 25 .

Дана строка s . Необходимо найти непустую подстроку этой строки, обладающую максимальным качеством, а из всех таких — минимальную по длине.

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

Входной файл содержит непустую строку s , состоящую из строчных букв латинского алфавита. Ее длина не превосходит 2 * 10 5 символов.

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

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

Примеры
Входные данные
aba
Выходные данные
ab
Входные данные
zzz
Выходные данные
z
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Алла очень любит палиндромы. Все потому, что её имя является палиндромом. Напомним, что строку называют палиндромом тогда, когда она одинаково читается как слева направо, так и справа налево.

Однажды в школе учитель рассказал Алле про так называемые строки Фибоначчи. Строки Фибоначчи определяются следующим образом:

  • f 0 = a
  • f 1 = b
  • f n = f n −1 f n −2 для каждого n ≥ 2 — конкатенация двух предыдущих строк Фибоначчи
Таким образом, первые пять строк Фибоначчи: « a » , « b » , « ba » , « bab » , « babba » .

Аллу сразу заинтересовал вопрос — какой максимально длинный палиндром встречается в k -й строке Фибоначчи. Помогите Алле решить эту задачу.

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

Первая строка входного файла содержит одно целое число k (0 ≤ k ≤ 80) — номер строки Фибоначчи.

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

В выходной файл выведите длину самого большого палиндрома, содержащегося в k -й строке Фибоначчи.

Примеры
Входные данные
2
Выходные данные
1
Входные данные
4
Выходные данные
4
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

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

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

В первой строке даны два целых числа n и k (1 ≤ n ≤ 100000, 1 ≤ k n ) , где n – количество символов в строке. Во второй строке n символов – данная строка, состоящая только из строчных латинских букв.

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

В выходной файл выведите два числа – длину искомой подстроки и номер её первого символа. Если решений несколько, выведите любое.

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

Летом Максим съездил в Летнюю Какую-то Школу, где, помимо учёбы, ему очень запомнилась игра «Шляпа», в которую он вместе с друзьями играл всю смену. Опишем правила игры, которых они придерживались. Обратите внимание: эти правила немного отличаются от общепринятых.

Изначально в шляпу помещают некоторое количество бумажек с написанными на них словами. После этого команды из двух человек по очереди и в случайном порядке начинают отгадывать слова - один член команды объясняет другому написанное на бумажке слово, не используя однокоренные. Если партнёр отгадывает его, то команде засчитывается одно очко, слово выкидывается, а команда достаёт из шляпы новое, если у неё ещё осталось время в этом раунде. Если команда не успевает отгадать очередное слово, то бумажка на которой оно написано, возвращается в шляпу, и ход передаётся какой-то случайной команде, возможно, той же самой. Игра продолжается, пока все слова из шляпы не будут отгаданы.

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

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

В первой строке дано количество команд N и количество попыток отгадать слова M (1 ≤ N ≤ 100 000, 1 ≤ M ≤ 100 000). В следующих M строках сначала указывается номер ni команды, пытавшейся отгадать слово, а через пробел дано слово wi, написанное на бумажке. Номера команд лежат в диапазоне от 1 до N. Все слова wi состоят из строчных латинских букв и имеют ненулевую длину, не превосходящую 10 букв.

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

Выведите в одну строку N чисел, i-ое число должно равняться количеству слов, отгаданному i-ой командой.

Примеры тестов

Входные данные
2 3
1 hat
1 shirt
2 hat
Выходные данные
1 1 
Входные данные
3 2
1 mom
3 dad
Выходные данные
1 0 1 

Примечание

В первом примере первая команда отгадала слово shirt, а вторая слово hat.

Система оценки

Каждый тест в данной задаче оценивается отдельно. Решение тестируется на основном наборе тестов только при прохождении всех тестов из условия. При этом тесты из условия не оцениваются.

Подзадача 1. 1 ≤ N ≤ 2000, 1 ≤ M ≤ 2000. Каждое слово встречается только один раз. Оценивается из 20 баллов.

Подзадача 2. 1 ≤ N ≤ 2000, 1 ≤ M ≤ 2000. Оценивается из 30 баллов.

Подзадача 3. 1 ≤ N ≤ 100 000, 1 ≤ M ≤ 100 000. Оценивается из 50 баллов.


Страница: << 59 60 61 62 63 64 65 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест