Как мы все знаем, лимерики - это короткие, пятистрочные, иногда непристойные стихи со схемой рифмования AABBA и метром анапестика (что бы это ни было):
Написание абсурдного лимерика
Строка первая и строка пять рифмуются в слове
И так же, как вы рассчитывали
Они рифмуются со вторым
Четвертая строка должна рифмоваться с третьим
Вам поручено написать самый короткий программу, которая при подаче вводимого текста печатает, считает ли он, что ввод является допустимым лимериком. Ввод может быть либо в командной строке, либо через стандартный ввод, по вашему выбору, а вывод может быть простым «Y» / «N» или доверительным счетом, опять же по вашему выбору.
Вот еще один пример правильного лимерика:
Была молодая леди, чьи глаза
были уникальны по цвету и размеру,
когда она широко их открыла.
Люди все отвернулись
и с удивлением ушли.
Но стихотворение ниже явно не лимерик, так как оно не рифмуется:
Был пожилой человек св. Пчелы,
которого ужалила в руке оса.
Когда его спросили: "Это больно?"
Он ответил: «Нет, это не так,
я так рад, что это не шершень».
И это не так, так как метр все не так:
Я слышал о человеке из Берлина,
который ненавидел комнату, в которой он находился.
Когда я спросил, почему
Он со вздохом сказал:
«Ну, вы видите, вчера вечером была пара хулиганов, которые праздновали, как Медведи побеждают проклятых. Чемпионат мира, и они были очень громкими, поэтому я не мог уснуть из-за шума ».
Улики
Вот некоторые из подсказок, которые вы могли бы использовать, чтобы решить, является ли ваш вклад лимерикой:
- Лимерики всегда в пять строк.
- Строки 1, 2 и 5 должны рифмоваться.
- Строки 3 и 4 должны рифмоваться.
- Строки 1, 2 и 5 имеют около 3x3 = 9 слогов, в то время как третий и четвертый имеют 2x3 = 6 слогов
Обратите внимание, что ни один из них, за исключением первого, не является жестким и быстрым: 100% -ая оценка правильности невозможна.
правила
Ваша запись должна по крайней мере правильно классифицировать примеры с 1 по 3 детерминистическим образом.
Вы имеете право использовать любой язык программирования , который вы хотите, за исключением, конечно , языков программирования , специально предназначенных для этого конкурса (см здесь ).
Вам не разрешается использовать любую библиотеку, кроме стандартных предложений вашего языка программирования.
Вы можете предположить, что этот файл , словарь произношения CMU Sphinx, находится в файле с именем «c» в текущем каталоге.
Вы не можете жестко программировать входные данные теста: ваша программа должна быть общим классификатором лимериков.
Вы которые позволили предположить , что вход ASCII, без какого - либо специального форматирования (например , в примерах), но программа не следует путать interpunction.
Бонусы
Доступны следующие бонусы:
- Ваша программа выводит свой результат как лимерик? Вычтите бонус в 150 символов !
- Ваша программа также правильно определяет сонеты? Вычтите дополнительный бонус в 150 символов !
- Ваша программа выводит свой результат как сонет при использовании в сонете? Вычтите дополнительный бонус в 100 символов !
В заключение...
Не забудьте упомянуть, какие бонусы, по вашему мнению, вы заслуживаете, если таковые имеются, и вычесть бонус из вашего числа персонажей, чтобы получить ваш счет. Это кодовое соревнование по гольфу : выигрывает самая короткая заявка (то есть заявка с наименьшим количеством очков).
Если вам нужны дополнительные (положительные) данные испытаний, ознакомьтесь с OEDILF или Книгой чепухи . Данные отрицательного теста должны быть легко построены.
Удачи!
code-challenge
из-за бонусов. Пожалуйста, прочитайте описание тега