Все буквы латинского алфавита делятся на гласные и согласные. Гласными буквами являются: a, e, i, o, u, y. Остальные буквы являются согласными.
Слово называется благозвучным, если в этом слове не встречается больше двух согласных букв подряд и не встречается больше двух гласных букв подряд. Например, слова abba, mama, program — благозвучные, а слова aaa, school, search — неблагозвучные.
Вводится слово. Если это слово является неблагозвучным, то разрешается добавлять в любые места этого слова любые буквы. Определите, какое минимальное количество букв можно добавить в это слово, чтобы оно стало благозвучным.
Вводится слово, состоящее только из маленьких латинских букв. Длина слова не превышает 30 символов.
Выведите минимальное число букв, которые нужно добавить в это слово, чтобы оно стало благозвучным.
Комментарии к примерам тестов
1. Слово уже является благозвучным.
2. Достаточно добавить одну гласную букву, например, между буквами s и с
program
0
school
1
На контрольной работе N учеников сидят в ряд. Для каждого ученика известно, какую оценку он получил бы, если бы писал эту контрольную самостоятельно (оценка — это число от 2 до 5). Однако ученики могут писать контрольную не только самостоятельно, но и списывать у своего соседа, но только если сосед пишет контрольную самостоятельно. В этом случае списывающий получит такую же оценку, какую получит тот, у кого он списал.
А именно (правила применяются строго в указанном порядке):
Определите, кто какую оценку в итоге получит.
Вводится число N (1<=N<=10) - количество учеников, и далее последовательность из N чисел, описывающая, кто на какую оценку может написать контрольную, если будет писать самостоятельно.
Выведите N чисел - оценки, которые получат ученики за контрольную.
1. Первый и пятый ученики будут писать самостоятельно. Второй спишет у первого, а четвертый — у пятого (в итоге также получат пятерки). Третьему не у кого списывать, так как его соседи будут писать работу не самостоятельно.
2. Второй и четвертый спишут у третьего, пятый — у шестого.
5 5 2 3 4 5
5 5 3 5 5
6 2 2 3 2 2 4
2 3 3 3 4 4
Рассмотрим последовательности чисел. Первая последовательность состоит из одного числа K. Каждая следующая последовательность чисел описывает предыдущую по такому правилу.
Просматриваем описываемую последовательность слева направо и разбиваем на отрезки, состоящие из подряд идущих равных чисел (причем все идущие подряд одинаковые числа всегда объединяем в один отрезок). Далее каждый такой отрезок описываем двумя числами — первое число говорит, сколько раз повторяется одно и то же число, второе число говорит, какое именно число повторяется. Записываем эти пары последовательно в соответствии с отрезками слева направо, и получаем новую последовательность (см. примеры ниже).
Например, для K=2 последовательности получатся такими:
№ | Последовательность | Как ее читать (слова в описании соответствуют числам текущей последовательности слева направо, и описывают предыдущую последовательность) |
1 | 2 | Исходная последовательность |
2 | 1 2 | Одна «двойка» |
3 | 1 1 1 2 | Одна «единица», одна «двойка» |
4 | 3 1 1 2 | Три «единицы», одна «двойка» |
5 | 1 3 2 1 1 2 | Одна «тройка», две «единицы», одна «двойка» |
6 | 1 1 1 3 1 2 2 1 1 2 | Одна «единица», одна «тройка», одна «двойка», две «единицы», одна «двойка» |
Напишите программу, которая по исходному числу K напечатает N-ую получающуюся последовательность.
Вводится число K (1 ≤ K ≤ 9) и число N (1 ≤ N ≤ 15).
Ваша программа должна печатать N-ую последовательность, полученную из начальной последовательности, состоящей из одного числа K. Числа при выводе следует разделять пробелами.
2 6
1 1 1 3 1 2 2 1 1 2
2 1
2
1 3
2 1
Сегодня мальчик Саша на уроке математики узнал про фракталы. Учитель показывал так называемую «кривую дракона». Она представляет собой геометрическую фигуру, которая строится следующим образом: на первом шаге проводится отрезок из начала координатной плоскости в точку (0; 1). Далее на каждом шаге из конца фрактала повторяется уже нарисованная часть фигуры, повернутая на 90 градусов против часовой стрелки (см. рисунок).
После уроков Саша попробовал сам изобразить «кривую дракона», и теперь он хочет знать, в какой точке координатной плоскости он закончил рисовать фрактал, проделав описанные выше N шагов. Требуется написать программу, которая по заданному числу N определяет координаты конца фрактала после выполнения N шагов.
Вводится одно целое число N (1 ≤ N ≤ 30).
Выведите два числа через пробел — координаты конца фрактала.
2
1 1
4
2 -2
Дорожка замощена плитками в один ряд, плитки пронумерованы числами от 1 до 1000. На плитках с номерами \(A\), \(B\) и \(C\) (\(A \lt B \lt C\)) сидят три кузнечика, которые играют в чехарду по следующим правилам:
1. На одной плитке может находиться только один кузнечик.
2. За один ход один из двух крайних кузнечиков (то есть с плитки \(A\) или с плитки \(C\)) может перепрыгнуть через среднего кузнечика (плитка \(B\)) и встать на плитку, которая находится ровно посередине между двумя оставшимися кузнечиками (то есть между \(B\) и \(C\) или \(A\) и \(B\) соответственно). Если между двумя оставшимися кузнечиками находится чётное число плиток, то он может выбрать любую из двух центральных плиток.
Например, если кузнечики первоначально сидели на плитках номер 1, 5, 10, то первым ходом кузнечик с плитки номер 10 может перепрыгнуть на плитку номер 3 (она находится посередине между 1 и 5), или кузнечик с плитки номер 1 может перепрыгнуть на плитку номер 7 или 8 (эти две плитки находятся посередине между плитками 5 и 10).
Даны три числа: \(A\), \(B\), \(C\). Определите, какое наибольшее число ходов может продолжаться игра.
Программа получает на вход три целых числа \(A\), \(B\) и \(C\) (\(1\le A \lt B \lt C\leq 1000\)), записанных в отдельных строках.
Выведите одно число — наибольшее количество ходов, которое может продолжаться игра.
1 4 6
2