Як ми всі знаємо, лімерики - це короткі, п'ятирядкові, періодично невмілі вірші із схемою римування AABBA та анапестичним вимірювачем (що б там не було):
Написання абсурдного
рядка Лімерика перший та п’ять рядків римою словом
І так само, як ви вважали,
вони римуються другим
Четвертий рядок повинен римувати з третім
Вам доручено написати найкоротшу програму, яка під час подачі вхідного тексту друкує, чи вважає він, що вхід є допустимим обмеженням. Введення може бути або в командному рядку, або за допомогою стандартного введення, за вашим бажанням, а вихід може бути простим "Y" / "N" або довірчим балом, знову ж за вашим бажанням.
Ось ще один приклад правильного обмеження:
Була молода леді, очі якої
були неповторними за кольором і розміром,
коли вона їх широко відкрила. Всі
люди відхилилися в сторону
і почали здивовано
Але вірш нижче, очевидно, не обмежує, оскільки він не римується:
Там був старий чоловік святих бджіл,
котрий був застрелений осею в руку.
На запитання: "Болить?"
Він відповів: "Ні, це не так,
я так радий, що це був не шершень".
Також це не так, як у лічильнику все неправильно:
Я чув про людину з Берліна,
яка ненавиділа кімнату, в якій він був,
Коли я запитав, чому
Він сказав зітхаючи:
"Ну, бачите, минулої ночі було пару хуліганів, які святкували ведмедів, які перемагали затьмареного Кубок світу, і вони були дійсно гучні, тому я не міг спати через дим ".
Підказки
Ось декілька підказок, якими ви можете скористатися, щоб визначити, чи є ваш внесок обмеженням чи ні:
- Лімерики завдовжки завжди п'ять рядків.
- Рядки 1, 2 і 5 повинні римувати.
- Рядки 3 і 4 повинні римувати.
- Рядки 1, 2 і 5 мають близько 3x3 = 9 складів, а третій і четвертий мають 2x3 = 6 складів
Зауважте, що жодне з них, окрім першого, не є міцним і швидким: 100% -ва оцінка правильності неможлива.
Правила
Ваш запис повинен, як мінімум, правильно класифікувати приклади 1 - 3 детерміновано.
Ви маєте право використовувати будь-яку мову програмування , який ви хочете, за винятком, звичайно , мов програмування , спеціально призначених для цього конкурсу (див тут ).
Ви НЕ дозволяється використовувати будь-яку бібліотеку , крім стандартних пропозицій мови програмування в.
Ви які дозволили припустити , що цей файл , то словник вимови CMU Sphinx, знаходиться в файлі з ім'ям "с" в поточному каталозі.
Вам не дозволено вводити жорсткий код для тестових входів: ваша програма повинна бути загальним обмежувальним категорізатором.
Ви які дозволили припустити , що вхід ASCII, без якого - або спеціального форматування (приміром , в прикладах), але програма не слід плутати interpunction.
Бонуси
Доступні такі бонуси:
- Ваша програма виводить результат як обмеження? Відніміть бонус довжиною 150 символів !
- Ваша програма також правильно ідентифікує сонети? Відняти 150 символів бонус за додаткову довжину!
- Ваша програма видає результат як сонник при використанні в сонеті? Відняти 100 символів додатковий додатковий бонус!
Нарешті ...
Не забудьте зазначити, які бонуси, на вашу думку, заслуговуєте, якщо такі є, і відніміть бонус від вашої кількості символів, щоб досягти вашого рахунку. Це змагання з кодовим гольфом : виграє найкоротший запис (тобто запис із найнижчою кількістю балів).
Якщо вам потрібні додаткові (позитивні) дані тестування, ознайомтеся з OEDILF або Книгою дурниць . Негативні дані тестування повинні бути легко побудовані.
Удачі!
code-challenge
через бонуси. Прочитайте описи тегів