Символы(9 задач)
    Строки(121 задач)
    Целые числа(112 задач)
    Битовые операции(28 задач)
    Логический тип(3 задач)
    Структуры(18 задач)
    Вещественные числа(33 задач)
    Множества(16 задач)
    Словари(21 задач)
---> 51 задач <---
Страница: 1 2 3 4 5 6 7 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Для заезда в оздоровительный лагерь организаторы решили заказать автобусы. Известно, что в лагерь собираются поехать N детей и M взрослых. Каждый автобус вмещает K человек. В каждом автобусе, в котором поедут дети, должно быть не менее двух взрослых.

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

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

На вход программы поступают 3 натуральных числа, записанных через пробел - N, M и K, каждое из них не превосходит 10 000.

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

Выведите количество автобусов, которые нужно заказать. Если же отправить всех в лагерь невозможно, выведите 0 (ноль).

Пример

Входные данные Выходные данные
10 4 7 2
10 4 5 0
ограничение по времени на тест
3.0 second;
ограничение по памяти на тест
64 megabytes

На выборах в Государственную думу в избирательные бюллетени внесено N партий. Электронный сканер для считывания информации с бюллетеней передает информацию о каждом бюллетене в следующем формате: если в соответствующей клетке бюллетеня стоит пометка, то сканер передает + (плюс), в противном случае он передает - (минус). Таким образом, он передает последовательность из N символов - плюсов и минусов.

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

Партия проходит в Государственную Думу, только если она набирает не менее 7% от общего числа действительных бюллетеней.

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

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

В первой строке входных данных содержатся два числа, разделенные пробелом: N - количество партий и M - количество бюллетеней. Оба числа натуральные, N <= 200, M <= 100 000.

В следующих M строках записана информация, полученная из бюллетеней. Каждая строка - последовательность из N символов + или - (без пробелов).

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

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

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

Пример

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

В книге на одной странице помещается \(K\) строк. Таким образом, на 1-й странице печатаются строки с 1-й по \(K\)-ю, на второй — с (\(K\)+1)-й по (2∙\(K\))-ю и т.д. Напишите программу, которая по номеру строки в тексте определяет номер страницы, на которой будет напечатана эта строка, и порядковый номер этой строки на странице.

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

Вводятся два числа: \(K\) — количество строк, которое печатается на странице, и \(N\) — номер строки (1≤\(K\)≤200, 1≤\(N\)≤20000).

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

Выведите два числа — номер страницы, на которой будет напечатана эта строка, и номер строки на странице.

Примеры
Входные данные
50 1
Выходные данные
1 1
Входные данные
20 25
Выходные данные
2 5
Входные данные
15 43
Выходные данные
3 13
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

На вход программы поступает строка текста, в которой могут встречаться:
— прописные и строчные (т.е. большие и маленькие) латинские буквы;
— пробелы;
— знаки препинания: точка, запятая, восклицательный и вопросительный знак;
— символ –, обозначающий в некоторых случаях тире, а в некоторых — дефис.
Слово — это последовательность подряд идущих латинских букв и знаков дефис, ограниченная с обоих концов. В качестве ограничителей могут выступать начало строки, конец строки, пробел, знак препинания, тире. Тире отличается от дефиса тем, что слева и справа от знака дефис пишутся буквы, а хотя бы с одной стороны от тире идет либо начало строки, либо конец строки, либо пробел, либо какой-либо знак препинания, либо еще одно тире.
Напишите программу, определяющую, сколько слов в данной строке текста.

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

Вводится строка длиной не более 200 символов.

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

Выведите одно число — количество слов, которые содержатся в исходной строке.

Примеры
Входные данные
Hello , world!
Выходные данные
2
Входные данные
www.olympiads.ru
Выходные данные
3
Входные данные
Gyro-compass - this is a ...
Выходные данные
4
ограничение по времени на тест
3.0 second;
ограничение по памяти на тест
32 megabytes
Дана строка и подстрока. Требуется определить, сколько раз в строке встречалась подпоследовательность, состоящая из символов подстроки.

Расшифровка письменности Майя оказалась более сложной задачей, чем предполагалось ранними исследованиями. На протяжении более чем двух сотен лет удалось узнать не так уж много. Основные результаты были получены за последние 30 лет.

Письменность Майя основывается на маленьких рисунках, известных как значки, которые обозначают звуки. Слова языка Майя обычно записываются с помощью этих значков, которые располагаются рядом друг с другом в некотором порядке.

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

Археологи ищут некоторое слово \(W\). Они знают значки для него, но не знают все возможные способы их расположения. Поскольку они знают, что Вы приедете на IOI ’06, они просят Вас о помощи. Они дадут Вам \(g\) значков, составляющих слово \(W\), и последовательность \(S\) всех значков в надписи, которую они изучают, в порядке их появления. Помогите им, подсчитав количество возможных появлений слова \(W\).

Задание

Напишите программу, которая по значкам слова \(W\) и по последовательности \(S\) значков надписи подсчитывает количество всех возможных вхождений слова \(W\) в \(S\), то есть количество всех различных позиций идущих подряд \(g\) значков в последовательности \(S\), которые являются какой-либо перестановкой значков слова \(W\) .

Ограничения

1 ≤ \(g\) ≤ 3 000, \(g\) – количество значков в слове \(W\)

\(g\) ≤ |\(S\)| ≤ 3 000 000 где |\(S\)| – количество значков в последовательности \(S\)

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

На вход программы поступают данные в следующем формате:

СТРОКА 1: Содержит два числа, разделенных пробелом – \(g\) и |\(S\)|.
СТРОКА 2: Содержит \(g\) последовательных символов, с помощью которых записывается слово \(W\) . Допустимы символы: ‘a’-‘z’ и ‘A’-‘Z’; большие и маленькие буквы считаются различными.
СТРОКА 3: Содержит |\(S\)| последовательных символов, которые представляют значки в надписи. Допустимы символы: ‘a’-‘z’ и ‘A’-‘Z’; большие и маленькие буквы считаются различными.

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

Единственная строка выходных данных программы должна содержать количество возможных вхождений слова \(W\) в \(S\).

Оценивание

Для части тестов, оцениваемых в 50 баллов, выполняется ограничение \(g\) ≤ 10.

Важно для программирования на PASCAL

По умолчанию во FreePascal переменная типа string имеет ограничение размера в 255 символов. Если Вы хотите использовать более длинные строки, Вы должны добавить директиву {$ H +} в ваш код, сразу после строки program ...;.

Примеры
Входные данные
4 11
cAda
AbrAcadAbRa
Выходные данные
2

Страница: 1 2 3 4 5 6 7 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест