Алгоритмы(1657 задач)
Структуры данных(279 задач)
Интерактивные задачи(17 задач)
Другое(54 задач)
\(N\)-лягушка живет на болоте, на котором в ряд растут бесконечно много кувшинок, пронумерованных слева направо числами 1, 2, 3, ...
Изначально N-лягушка сидит на кувшинке с номером \(K\) (\(K\) > \(N\)). Каждый раз \(N\)-лягушка прыгает на \(N\) кувшинок влево и повторяет это, пока не оказывается на номере, меньше либо равном \(N\). Если она попадает на кувшинку с номером \(N\), то становится счастливой, и дальше никуда не прыгает. Если же она попадает на кувшинку с каким-нибудь номером \(M\) < \(N\), то огорчается, прыгает на \(N\) кувшинок вправо и превращается в \(M\)-лягушку (теперь она будет прыгать на \(M\) клеток влево и мечтать попасть на клетку номер \(M\), а если у нее это не получится, то она превратится в \(X\)-лягушку, и так далее).
Требуется выяснить, исполнятся ли когда-либо мечты \(N\)-лягушки, сидящей изначально на кувшинке с номером \(K\), и если да, то на какой кувшинке она окажется.
Вводятся два натуральных числа \(N\) и \(K\). 1 ≤ \(N\) < \(K\) ≤ 2∙\(10^9\).
Выведите номер кувшинки, на которой останется \(N\)-лягушка. Если мечты лягушки никогда не исполнятся, выведите одно число 0.
2 10
2
Кодовый замок состоит из \(N\) рычажков, каждый из которых может быть установлен в любое из \(K\) положений, обозначенных натуральными числами от 1 до \(K\). Известно, что для того чтобы открыть замок, нужно, чтобы сумма положений любых трех последовательных рычажков была равна \(K\).
Два рычажка уже установлены в некоторые положения, и их переключать нельзя. Рычажок с номером \(p_1\) установлен в положение \(v_1\), а рычажок \(p_2\) – в положение \(v_2\).
Напишите программу, которая определит, сколькими способами можно установить остальные рычажки, чтобы открыть замок.
Вводятся натуральные числа \(N\), \(K\), \(p_1\), \(v_1\), \(p_2\), \(v_2\). Рычажки пронумерованы числами от 1 до \(N\).
3 ≤ \(N\) ≤ 10000, 3 ≤ \(K\) ≤ 6, \(p_1\)≠\(p_2\), 1 ≤ \(p_1\) ≤ \(N\), 1 ≤ \(p_2\) ≤ \(N\), 1 ≤ \(v_1\) ≤ \(K\), 1 ≤ \(v_2\) ≤ \(K\).
Выведите одно число — количество искомых комбинаций или 0, если, соблюдая все условия, замок открыть невозможно.
Напишите программу, которая посчитает количество смайликов в заданном тексте.
Смайликом будем считать последовательность символов, удовлетворяющую условиям:
Например, нижеприведенные последовательности являются смайликами:
:)
;---------[[[[[[[[
в то время как эти последовательности смайликами не являются (хотя некоторые из них содержат смайлики):
:-)]
;--
-)
::-(
:-()
В этой задаче надо будет посчитать количество смайликов, содержащихся в данном тексте.
Формат входных данных
Вводится одна строка текста, которая может содержать маленькие латинские буквы, пробелы, символы, которые могут встречаться в смайликах. Длина строки не превышает 200 символов.
Формат выходных данных
Выведите одно число — количество смайликов, которые встречаются в тексте.
:);------[[[[[]
2
В классе учатся N человек. Классный руководитель получил указание разбить их на R бригад по С человек в каждой и направить на субботник (N = R∙C).
Все бригады на субботнике будут заниматься переноской бревен. Каждое бревно одновременно несут все члены одной бригады. При этом бревно нести тем удобнее, чем менее различается рост членов этой бригады.
Числом неудобства бригады будем называть разность между ростом самого высокого и ростом самого низкого членов этой бригады (если в бригаде только один человек, то эта разница равна 0). Классный руководитель решил сформировать бригады так, чтобы максимальное из чисел неудобства сформированных бригад было минимально. Помогите ему в этом!
Рассмотрим следующий пример. Пусть в классе 8 человек, рост которых в сантиметрах равен 170, 205, 225, 190, 260, 130, 225, 160, и необходимо сформировать две бригады по четыре человека в каждой. Тогда одним из вариантов является такой:
1 бригада: люди с ростом 225, 205, 225, 260
2 бригада: люди с ростом 160, 190, 170, 130
При этом максимальное число неудобства будет во второй бригаде, оно будет равно 60, и это наилучший возможный результат.
Формат входных данных:
Сначала вводятся натуральные числа R и C количество бригад и количество человек в каждой бригаде (1 ≤ R∙C ≤ 1000). Далее вводятся N = R∙C целых чисел по одному в строке — рост каждого из N учеников. Рост ученика — натуральное число, не превышающее 1 000 000 000.
Формат выходных данных:
Выведите одно число — наименьше возможное значение максимального числа неудобства сформированных бригад.
Пример
Входные данные | Выходные данные |
2 4 170 205 225 190 260 130 225 160 | 60 |
Слова в языке Мумба-Юмба могут состоять только из букв a, b, c, и при этом:
Все слова, удовлетворяющие вышеописанным правилам, входят в язык Мумба-Юмба.
Напишите программу, которая по данному слову определит, принадлежит ли оно этому языку.
Формат входных данных
Вводится одно слово, состоящее только из строчных букв a, b, c, длины не более 100.
Формат выходных данных
Если слово входит в язык Мумба-Юмба, выведите YES, в противном случае выведите NO.
abca
YES