ЛКШ.2016.Зима.C'+. День 7. Условия

Задача A. Вещественное число

Составьте регулярное выражение, соответствующее только вещественному числу.

Вещественное число содержит, быть может, знак - (минус), а затем целую и, возможно, дробную части, которые, при наличии дробной части, разделяются точкой. Дробная часть не должна заканчиваться нулем, а целая не должна содержать ведущих нулей. Например, -123 и 102.409 - корректные вещественные числа, а .78 и 167.0 - нет.

Вся строка целиком должна быть вещественным числом, так что не забудьте про якоря ^ и $.

В систему ejugde вам нужно сдать регулярное выражение.

Задача B. Смайлик

Составьте регулярное выражение, соответствующее смайлику.

Смайлик состоит из трех частей: глаз, носа (который может отсутствовать) и рта. Глаза - это один символ ':' или ';'. Нос - это один символ '-'. Рот состоит из одного или более одинаковых символов рта: ')', '(', '/', '\', '|', 'D'. Например, ':)' и ';-///' - корректные смайлики, а ')))' и '>:-[' - нет.

Вся строка целиком должна быть смайликом, так что не забудьте про якоря ^ и $.

В систему ejugde вам нужно сдать регулярное выражение.

Задача C. Время

Составьте регулярное выражение, соответствующее времени, записанному в формате H:MM:SS **, где ** - это AM или PM, а между H:MM:SS и ** находится ровно один пробел. MM и SS - это двузначные числа от 00 до 59, а H - число от 1 до 12 без ведущих нулей.

Например, "10:30:29 PM" и "2:00:03 AM" - корректные записи времени.

В систему ejugde вам нужно сдать регулярное выражение.

Задача D. Текст

Составьте регулярное выражение, соответствующее красивому тексту.

Текст называется красивым, если он состоит из ненулевого числа красивых предложений, разделенных одним пробелом. Предложение называется красивым, если оно представляет собой непустую последовательность слов, разделенных одним пробелом, заканчивается точкой, многоточием (из ровно трех точек), знаком вопроса или восклицательным знаком. Вместо пробела между словами может находиться знак препинания, а именно строка ", ", "; ", " - " или ", - ". Первое слово в предложении должно начинаться с заглавной буквы. Слово называется красивым, если оно состоит из одной из двух частей, разделенных одним дефисом. В каждой части все буквы должны быть строчными латинскими, а первая буква также может быть и заглавной латинской. Длина части должна быть не меньше 1. Кроме того, слово, ссостоящее из одной части, может быть аббревиатурой, то есть состоять исключительно из заглавных латинских букв.

Пример красивого текста: "This program is free-software; you can copy it."

Пример некрасивого текста: "i cannot write bEaUtIfUl sentences :((("

В систему ejugde вам нужно сдать регулярное выражение.

Задача E. Друзья Деда Мороза

Имя входного файла:moroz.in
Имя выходного файла:moroz.out
Ограничение по времени:2 секунды
Ограничение по памяти:64 мебибайт

Маленький мальчик Сережа пишет сказку про Новый Год. Вот начало этой сказки: "Дед Мороз и его друзья приехали в ЛКШ на Новый Год и стали всех поздравлять с праздником. Первым делом Дед Мороз и Снегурочка поздравили Андрюшу Сергеевича С., потом Дед Мороз и Зайчики поздравили девочек параллели C'. Потом Дед Мороз и Мамонтенок поздравили Наташу Не. Потом Дед Мороз и Йолопукки поздравили Витю Ма., потом Дед Мороз и Олененок поздравили Андрюшу Г. ..."

Сказка у Сережи получилась ооочень длинная. Друг Сережи Оскар так и не смог дочитать ее до конца. Однако, Оскару интересно узнать всех друзей Деда Мороза, которые в сказке первого Сережи приехали в ЛКШ. Для простоты давайте считать, что друг Деда Мороза - это тот, про кого написано "Дед мороз и он". Помогите Оскару найти всех друзей Деда Мороза.

Формат входного файла

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

Имена всех друзей Деда Мороза различны.

Формат выходного файла

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

Пример входного файла Пример выходного файла
Ded Moroz i ego druzya priehali v
LKSH na Noviy God i stali vseh 
pozdravlyat s prazdnikom.
Pervim delom Ded Moroz i
Snegurochka pozdravili Andrushu 
Sergeevicha S. Potom Ded Moroz 
i Zaichiki pozdravili devochek
paralleli C'. Potom Ded Moroz i 
Mamontenok pozdravili Natashu Ne.
Potom Ded Moroz i Yolopukki pozdravili
Vitu Ma. Potom Ded Moroz i Olenenok
pozdravili Andrushu G.
ego
Snegurochka
Zaichiki
Mamontenok
Yolopukki
Olenenok

Задача F. Погода

На сайте gismeteo доступен архив погоды - в частности, для каждого дня там доступна температура днем и вечером в этот день. Нас будет интересовать температура в Москве.

Вашей программе вводятся три числа - год (от 1998 до 2016), месяц (от 1 до 12) и день (от 1 до количества дней в соответствующем месяце).

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

Указание к решению

Температуру в Москве в декабре 2016 года вы можете увидеть по такой ссылке: https://www.gismeteo.ru/diary/4368/2016/12/. А за август 1999 (это месяц, когда состоялась первая ЛКШ) - вот по такой: https://www.gismeteo.ru/diary/4368/1999/8/.

Важные замечания

Программа должна считывать входные данные со стандартного потока ввода и выводить результат на стандартный поток вывода.

Решения этой задачи не будут проверяться ejudge'м автоматически, а будут проверены один раз в конце сегодняшнего дня.

Пример ввода Пример вывода
2016 12 31
0 +1