Перебор с отсечением(22 задач)
Простые задачи на перебор(43 задач)
Гамильтонов цикл(2 задач)
Слова в языке Мумба-Юмба могут состоять только из букв \(a\), \(b\) и при этом:
* никогда не содержат двух букв \(b\) подряд,
* ни в одном слове никогда не встречается три одинаковых подслова подряд. Например, по этому правилу в язык Мумба-Юмба не могут входить слова aaa (так как три раза подряд содержит подслово a), ababab (так как три раза подряд содержит подслово ab), aabababa (также три раза подряд содержит подслово ab).
Все слова, удовлетворяющие вышеописанным правилам, входят в язык Мумба-Юмба.
Напишите программу, которая подсчитает количество слов длины ровно \(K\) символов в языке племени Мумба-Юмба.
Вводится одно число \(K\) (1 ≤ \(K\) ≤ 100 000)
Выведите одно число — количество слов в этом языке длины \(K\).
Кодовый замок состоит из \(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, если, соблюдая все условия, замок открыть невозможно.
Слова в языке Мумба-Юмба могут состоять только из букв a, b, c, и при этом:
Все слова, удовлетворяющие вышеописанным правилам, входят в язык Мумба-Юмба.
Напишите программу, которая по данному слову определит, принадлежит ли оно этому языку.
Формат входных данных
Вводится одно слово, состоящее только из строчных букв a, b, c, длины не более 100.
Формат выходных данных
Если слово входит в язык Мумба-Юмба, выведите YES, в противном случае выведите NO.
abca
YES
Развитие химической науки привело к тому, что высшие фуллерены (сложные молекулы углерода в виде шарика или продолговатой трубки) стали недорогими в производстве. Благодаря своим уникальным оптическим свойствам они нашли свое место и в ювелирной промышленности. Ювелирный дом «Кёрл, Крото и Смолли» выпустил уникальную коллекцию украшений из фуллеренов. Украшение продается в виде набора трубок-фуллеренов различной длины, из которых можно составить украшение самостоятельно.
Норма Джин очень любит сложные углеродные соединения и купила себе набор фуллеренов для составления украшений. Ее фирменный стиль состоит в том, чтобы носить украшения, составленные ровно из трех трубок фуллерена, причем в результате должен получаться тупоугольный треугольник. Норма Джин — объект постоянной охоты папарацци, поэтому не может позволить себе дважды появиться на людях с одним и тем же украшением.
Помогите Норме Джин узнать, сколько вечеров она сможет посетить с имеющимся у нее набором фуллереновых трубок. Фуллереновые трубки одинаковой длины считаются различными. Треугольники считаются различными, если они отличаются хотя бы одной трубкой. Треугольники, состоящие из одних и тех же трубок, считаются одинаковыми независимо от порядка трубок.
Первая строка входного файла содержит одно число N (1 ≤ N ≤ 100) — количество фуллереновых трубок в наборе Нормы Джин.
Вторая строка содержит N упорядоченных по возрастанию целых чисел Li (1 ≤ Li ≤ 20 000) — длины трубок.
Выведите одно целое число — количество вечеров, на которые сможет сходить Норма Джин.
4 2 2 3 4
3
Командная олимпиада, о которой идёт речь в этой задаче, проходила по тем же правилам, что и олимпиада, в которой вы сейчас участвуете. Возможно, за одним исключением: на ней было введено ограничение на суммарное число посылок от одной команды, которые можно было потратить как на одну задачу, так и распределить их по всем задачам некоторым образом.
Как и сегодня, за час до окончания олимпиады таблица результатов была «заморожена». Каково же было удивление участников, когда при подведении итогов выяснилось, что в окончательной таблице все команды расположились строго в обратном порядке (по отношению к порядку, зафиксированному «заморозкой»). Так как в окончательной таблице результатов посылки участников не отражены, вам предлагается определить, могло ли такое быть в принципе, или это результат технического сбоя системы.
Первая строка содержит три натуральных числа: N — количество команд, K — количество задач, L — лимит на суммарное число посылок по задачам (N ≤ 1000, K ≤ 12, K ≤ L ≤ 200).
Далее следуют N строк, описывающих саму таблицу на момент заморозки. i-я строка содержит название команды (строка из латинских символов и цифр длины не более 50) и K элементов, показывающих успех команды по каждой из задач. j-й элемент таблицы имеет вид * Wrong(Time), где:
* — знак ‘ + ’ или ‘ - ’, показывающий, решила ли команда задачу;
Wrong — количество неуспешных посылок по данной задаче;
Time — минута, на которой команда сдала задачу (0 ≤ Time ≤ 239); если данная задача ещё не была решена, Time = 0.
Команды упорядочены от первого места на момент заморозки к последнему. Напоминаем, что команды сортируются по числу решённых задач, а при равном количестве — по увеличению штрафного времени, которое складывается из времени сдачи задачи и общего количества неудачных попыток по решённым задачам, умноженного на 20. Продолжительность олимпиады — 5 часов.
Гарантируется, что ни одна команда не превысила лимит на число посылок и что никакие две команды не имеют одинаковый с точки зрения сортировки результат.
Если порядок команд теоретически мог измениться за последний час соревнований на обратный, то сначала выведите строку «Possible», а затем подробную таблицу окончательных результатов в формате, аналогичном таблице из входного файла (см. пример). Если соревнование так закончиться не могло, то выведите единственную строку «Impossible».
3 3 10
winner +2(235) +3(170) -2(0)
middle -2(0) +1(30) -0(0)
looser -1(0) +5(30) -0(0)
Possible
looser +1(240) +5(30) +0(240)
middle +5(241) +1(30) +0(240)
winner +2(235) +3(170) +2(240)
2 2 20
winner +10(1) +0(10)
looser -0(0) +1(1)
Impossible