Типы данных

465 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Пусть s - строка, состоящая из строчных букв. Мы будем называть строку s красивой, если каждая строчная буква английского алфавита встречается в ней четное количество раз. По заданной строке s, определите, красива ли она.

Входные данные
На вход подается строка. Длина строки не нулевая и не более 100 символов. Строка состоит только из строчных английских букв (a-z).

Выходные данные
Выведите Yes если s красива, в противном случае, выведите No.
 

 

Примеры
Входные данные Выходные данные
1 abaccaba Yes
2 hthth No

 

✓ 40✗ 82600лёгкаяВойти и решать
Громозека построил собственную клавиатуру. Эта клавиатура разработана для максимальной простоты, на ней всего 3 клавиши: клавиша 0, клавиша 1 и клавиша backspace.

Тестировать собственную клавиатуру Громозека решил в текстовом редакторе. Этот редактор всегда отображает одну строку (возможно, пустую). При запуске редактора эта строка пуста. При нажатии каждой клавиши на клавиатуре в строке происходят следующие изменения:
- клавиша 0: символ 0 будет вставлен справа от строки;
- клавиша 1: символ 1 будет вставлен справа от строки;
- клавиша backspace: если строка пуста, ничего не происходит. В противном случае удаляется крайняя правая буква строки.

Громозека запустил редактор и несколько раз нажал эти клавиши. Вам дана строке s, которая является записью нажатий клавиш по порядку. В этой строке символ 0 обозначает клавишу 0, символ 1 обозначает клавишу 1, а символ B обозначает клавишу backspace. Определите какая строка теперь отображается в редакторе?

Входные данные
На вход подается строка (\(1 <= len(s) <=10\)). Строка состоит из символов 01 или B.

Выходные данные
Выведите на экран ответ на задачу.
 

 

Примеры
Входные данные Выходные данные
1
01B0
00
2
0BB1
1

 

✓ 67✗ 88700средняяВойти и решать
У Ирохи есть последовательность из N строк s1, s2, .., sN. Каждая строка длиной L. Ироха хочет объединить все строки, чтобы получить очень длинную строку. Среди всех строк, которые она может получить таким образом, найдите лексикографически наименьшую. 

Будем считать, что строка s = s1s2...sлексикографически меньше строки t = t1t2...tm, если выполняется одно из следующих условий:
- существует индекс i (\(1<=i<=min(n,m)\)), такой что \(s_j =t_j \), для всех индексов j (\(1<=j<=i\)), и \(s_i <t_i \);
-  \(s_i=t_j\) для всех i (\(1<=i<=min(n,m)\)), и \(n<m\).


Входные данные
В первой строке задаются числа N и L. Далее идут строки s1, s2, .., sN, каждая в отдельной строке.

Выходные данные
Выведите лексикографически наименьшую строку, которую может создать Ироха.
 

 

Примеры
Входные данные Выходные данные
1 3 3
dxx
axx
cxx
axxcxxdxx

 

Как известно, при разработке и отладке программ большую помощь могут оказать игрушечные жёлтые уточки (см. статью «Метод утёнка» в википедии), поэтому Денис собрал большую коллекцию жёлтых уточек. Коллекция уже настолько большая, что Денис решил расставить уточек на полки шкафа. Сначала он начал ставить на каждую полку по A уточек, но одна уточка оказалась лишней. Тогда он заново начал расставлять уточек на полки, ставя на каждую полку по B уточек, но в этом случае ему не хватило одной уточки, чтобы на каждой полке оказалось ровно B уточек. Определите минимальное число уточек, которое могло быть в коллекции Дениса.
Программа получает на вход два целых положительных числа A и B, 2 ≤ A ≤ 2×109, 2 ≤ B ≤ 2×109 – количество уточек при расстановке на полке в первом и во втором случаях.
Программа должна вывести одно число – минимально возможное количество уточек в коллекции Дениса. Гарантируется, что ответ существует и не превосходит 2×109.
Примеры
Входные данные Выходные данные Пояснение
1 5
3
11 11 = 5 × 2 + 1
11 = 3 × 4 − 1
✓ 50✗ 325700средняяВойти и решать
Автобусные остановки расположены через каждые K метров от начала улицы, то есть на расстоянии 0, K, 2K, 3K и т.д. метров от начала. Света прошла от начала улицы N метров, после чего
устала и захотела сесть на автобус. Определите, сколько метров нужно пройти Свете до ближайшей
остановки.

Входные данные
Программа получает на вход два целых числа K и N, записанных в отдельных строках.
1 ≤ K ≤ 2 × 109, 1 ≤ N ≤ 2 × 109

Выходные данные
Программа должна вывести одно целое число — расстояние до ближайшей остановки.
 
Примеры
Входные данные Выходные данные
1 600
2000
200
Телефонные номера в адресной книге мобильного телефона имеют один из следующих форматов:

+7<код><номер>

8<код><номер>

<номер>

где <номер> — это семь цифр, а <код> — это три цифры или три цифры в круглых скобках. Если код не указан, то считается, что он равен 495. Кроме того, в записи телефонного номера может стоять знак “-” между любыми двумя цифрами (см. пример).

На данный момент в адресной книге телефона Васи записано всего три телефонных номера, и он хочет записать туда еще один. Но он не может понять, не записан ли уже такой номер в телефонной книге. Помогите ему!

Два телефонных номера совпадают, если у них равны коды и равны номера. Например, +7(916)0123456 и 89160123456 — это один и тот же номер.

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

Гарантируется, что каждая из записей соответствует одному из трех приведенных в условии форматов.

Выходные данные
Для каждого телефонного номера в адресной книге выведите YES (заглавными буквами), если он совпадает с тем телефонным номером, который Вася хочет добавить в адресную книгу или NO (заглавными буквами) в противном случае.
 
Примеры
Входные данные Выходные данные
1 8(495)430-23-97
+7-4-9-5-43-023-97
4-3-0-2-3-9-7
8-495-430
YES
YES
NO
В школе продолжительность каждого урока 45 минут, а перемены между уроками – всего 5 минут. Первый урок начинается ровно в 8 часов утра. Напишите программу, отвечающую на вопрос «во сколько в этой школе заканчивается K-ый урок?»

Формат входных данных
Вводится одно натуральное число K, не превышающее 15.

Формат выходных данных
Выведите время окончания K-ого урока: сначала часы, потом минуты, разделяя их пробелом.
Все буквы латинского алфавита делятся на гласные и согласные. Гласными буквами являются: a, e, i, o, u, y. Остальные буквы являются согласными.

Слово называется благозвучным, если в этом слове не встречается больше двух согласных букв подряд и не встречается больше двух гласных букв подряд. Например, слова abba, mama, program — благозвучные, а слова aaa, school, search — неблагозвучные.

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

Входные данные
Вводится слово, состоящее только из маленьких латинских букв. Длина слова не превышает 30 символов.

Выходные данные
Выведите минимальное число букв, которые нужно добавить в это слово, чтобы оно стало благозвучным.
 
Примеры
Входные данные Выходные данные Пояснение
1 program 0 Слово уже является благозвучным.
2 school 1 Достаточно добавить одну гласную букву, например, между буквами s  и с
Витя подключен к интернет по следующему тарифному плану. Ежемесячная абонентская плата составляет A рублей, и в эту абонентскую плату включено B мегабайт трафика. Неизрасходованные мегабайты в конце месяца «сгорают». Если трафик превышает B мегабайт, то каждый мегабайт трафика сверх предоплаченных стоит C рублей.

Известно, что за прошлый месяц Витя израсходовал D мегабайт трафика. Определите, во сколько обошелся ему доступ в интернет в прошлом месяце (считая в том числе и абонентскую плату)?

Формат входных данных
Вводятся четыре натуральных числа A, B, C, D. Все числа не превышают 100.

Формат выходных данных
Выведите одно число — сумму (в рублях), которую Витя должен заплатить за интернет.
Секретное агентство «Super-Secret-no» решило для шифрования переписки своих сотрудников использовать «метод бутерброда». Сначала буквы слова нумеруются в таком порядке: первая буква получает номер 1, последняя буква - номер 2, вторая – номер 3, предпоследняя – номер 4, потом третья … и так для всех букв (см. рисунок). Затем все буквы записываются в шифр в порядке своих номеров. В конец зашифрованного слова добавляется знак «диез» (#), который  нельзя использовать в сообщениях.

Например, слово «sandwich» зашифруется в «shacnidw#».



К сожалению, программист «Super-Secret-no», написал только программу шифрования и уволился. И теперь агенты не могут понять, что же они написали друг другу. Помогите им.

Входные данные
Вводится слово, зашифрованное методом бутерброда. Длина слова не превышает 20 букв.

Выходные данные
Выведите расшифрованное слово.
Примеры
Входные данные Выходные данные
1 Aabrrbaacda# Abracadabra
✓ 76✗ 103700средняяВойти и решать
Для заезда в оздоровительный лагерь организаторы решили заказать автобусы. Известно, что в лагерь собираются поехать N детей и M взрослых. Каждый автобус вмещает K человек. В каждом автобусе, в котором поедут дети, должно быть не менее двух взрослых.

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

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

Выходные данные
Выведите количество автобусов, которые нужно заказать. Если же отправить всех в лагерь невозможно, выведите 0 (ноль).
 
Примеры
Входные данные Выходные данные
1 10 4 7 2
2 10 4 5 0
Витя безумно любит статистику. Ещё бы — у них со старшим братом день рождения приходится на один и тот же день года! Теперь каждый год в свой день рождения он записывает, сколько лет ему и его брату, и пытается найти в этих записях что-нибудь интересное.

Сегодня у Вити день рождения, и он показал свои записи Алёне. Витя знает, что она тоже любит исследовать всякие наборы чисел и находить в них закономерности. Алёна тут же заметила интересный момент: когда в один из прошлых дней рождения Вите было n лет, его брату было m лет, а сегодня Витя младше своего брата ровно в k раз!

Вернувшись вечером домой, Алёна заинтересовалась вопросом: а достаточно ли этих данных, чтобы вычислить, сколько лет исполнилось Вите сегодня? Алёна быстро справилась, а сможете ли вы решить эту сложную задачу и выяснить по числам n , m и k , сколько лет Вите?

Входные данные
Ввод состоит из трех строк, которые содержат по одному натуральному числу: n , m и k — возраст Вити и его брата в былые времена, а также во сколько раз Витя сегодня младше своего брата ( 1 ≤ n < m ≤ 10 000 , 2 ≤ k ≤ 10 000 ).

Выходные данные
Если описанная в условии ситуация могла произойти, выведите единственное число t — сколько лет сегодня исполнилось Вите.

Если Витя и Алёна ошиблись, и описанной ситуации быть не могло, выведите число - 1 .
 
Входные данные Выходные данные
1 4
15
2
11
2 4
15
3
-1
3 4
8
2
-1
А мы, тем временем, возвращаемся в поезд Москва-Адлер, где Максим все-таки был пойман папой, и три рулона туалетной бумаги не были выпущены из окна первого вагона («Ну паааап, ну мне было интересно, что длиннее — поезд или бумага, ну не надо за ухо»).

Теперь Максим сидит в купе вместе с мамой. Чтобы отвлечь его от продумывания деталей новых экспериментов, мама — неплохой математик — рассказала Максиму одну любопытную задачу («Мои студенты в среду ее так и не смогли решить, совсем считать разучились»).

Дано число x. Каждую его цифру нужно умножить на 19, прибавить к результату 40, полученное число снова умножить на 19, взять последнюю цифру этого произведения и поставить его на место исходной цифры в числе x. Вопрос: какое число получится в итоге?

Максим, впрочем, решил задачу гораздо быстрее, чем ожидала его мама, и, к сожалению, снова был готов к экспериментам. А сможете ли вы?

Входные данные
Дано целое число x (0≤x≤10000).

Выходные данные
Выведите одно число: ответ на задачу, которую мама рассказала Максиму.
Примеры
Входные данные Выходные данные
1 27 27
По кругу записано несколько букв (возможно, повторяющихся). Петя интересуется, сможет ли он прочитать некоторое слово, если будет двигаться по кругу (в каком-либо направлении), не пропуская буквы (откуда начинать, и в какую сторону двигаться, он может выбрать сам).

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

Во второй строке записано слово, которое хочет найти Петя. Оно также состоит из строчных латинских букв и имеет длину от 1 до 100.

Выходные данные
Выведите YES заглавными латинскими буквами, если такое слово можно прочитать, двигаясь по кругу, и NO в противном случае.
Примеры
Входные данные Выходные данные
1 abcdefg
abd
NO
2 abcdg
bag
YES
3 a
aaa
YES
Сколько всего натуральных чисел состоят из не менее чем a цифр и не более, чем b цифр?

Входные данные
Вводятся два произвольных натуральных числа a и b через пробел. Каждое не превышает 10000.

Выходные данные
Выведите одно число: количество чисел, обладающих указанным свойством.
Примеры
Входные данные Выходные данные
1 1 2 99
2 1 1 9
✓ 251✗ 1 661500лёгкаяВойти и решать
Вы когда-нибудь задумывались над тем, как отличить хорошие стихи от посредственных?

Нет? А вот редактор литературного журнала занимается этим каждый день, получая тонны корреспонденции от молодых авторов, желающих стать известными поэтами. Благо, в последнее время большая часть стихов присылается по электронной почте, поэтому у редактора возникла мысль автоматизировать процесс. Он твердо уверен, что стихи тем лучше, чем точнее в них рифма. Он считает две строки зарифмованными, если у них совпадает несколько последних букв. И чем больше букв совпадает, тем лучше зарифмованы строки. Например, у строк “палка” и “веревка” совпадают только пары последних букв “ка”, а у строк “олимпиада” и “рая и ада” совпадают четыре буквы (пробелы мы пропускаем). Поэтому вторая рифма лучше. Редактор считает, что в четверостишии (четыре строки) первая строка должна рифмоваться с третьей, а вторая – с четвертой. Для каждой из этих двух пар строк он считает количество совпадающих последних символов и из этих двух чисел выбирает наибольшее. Полученное число он называет коэффициентом качества стихотворения – чем он выше, тем больше шансов у стихотворения быть опубликованным. Помогите редактору – напишите программу, которая определяет качество стихотворения. И кто знает, может быть, благодаря вашим усилиям, мир познакомится с гениальными стихами (см. первый пример).

Входные данные
На вход подается 4 непустые строки, каждая из которых состоит из не более чем 100 строчных латинских букв (стихотворение уже подверглось предварительной обработке: из него удалили все пробелы и знаки препинания, а заглавные буквы сделали строчными).

Выходные данные
Выведите одно число – коэффициент качества стихотворения.
 
Входные данные Выходные данные
1 yapomnyuchudnoemgnovenje
peredomnojyavilasty
kakmimoletnoevidenje
kakgenijchistoykrasoty
4
2 eto
vovse
ne
stihi
0
3 etootlichnyestihi
etootlichnyestihi
etootlichnyestihi
etootlichnyestihi
17
✓ 89✗ 137600лёгкаяВойти и решать
Два автомобиля движутся по кольцевой дороге длины L в противоположных направлениях. Они начинают движение из одной точки и едут с постоянными скоростями v1 и v2 соответственно. Требуется определить, на каком расстоянии друг от друга они окажутся в момент времени T.

Входные данные
На вход подаются 4 натуральных числа L, v1, v2, T, разделенных пробелом. Все числа не превосходят 100.

Выходные данные
Выведите расстояние между автомобилями в момент времени T – длину кратчайшей из двух дуг дороги между автомобилями.
 
Входные данные Выходные данные
1 10 1 2 1 3
2 10 2 3 2 0
Двое играют в такую игру. Первый называет число, затем второй называет число. Если число второго больше, то он выиграл, в противном случае (даже если числа равны), выиграл первый. Помогите второму игроку – напишите программу, которая будет за него успешно играть в эту игру.

Входные данные
Вводится натуральное число A, которое назвал первый игрок (в числе А  не больше 100 цифр).

Выходные данные
Выведите одно натуральное число – какой-нибудь (любой!) выигрышный ход второго игрока.
Примеры
Входные данные Выходные данные
1 1 2
2 1000000000000000 1000000000000009
✓ 94✗ 68300лёгкаяВойти и решать
Вводится натуральное число. Требуется разделить запятыми тройки его цифр (считая справа).

Входные данные
Вводится одно натуральное число, не превышающее 10100.

Выходные данные
Вывести то же число, разделяя тройки цифр запятыми.

Примеры
Входные данные Выходные данные
1 1000 1,000
2 12345678 12,345,678
3 999 999
Возьмем произвольное слово и проделаем с ним следующую операцию: поменяем местами его первую согласную букву с последней согласной буквой, вторую согласную букву с предпоследней согласной буквой и т.д. Если после этой операции мы вновь получим исходное слово, то будем называть такое слово негласным палиндромом. Например, слова sos, rare, rotor, gong, karaoke являются негласными палиндромами.

Вам требуется написать программу, которая по данному слову определяет, является ли оно негласным палиндромом.

Входные данные
Вводится одно слово.

Выходные данные
Программа должна вывести YES, если введенное слово является негласным палиндромом, и NO в противном случае.
Примеры
Входные данные Выходные данные
1 tennete YES
✓ 109✗ 160700средняяВойти и решать
Поделиться
Класснуть