Напишите квинну , состоящую из настоящих английских слов, разделенных пробелами. «Слово» определяется как строка, содержащая только строчные и прописные буквы ( /[a-zA-Z]+/
в регулярном выражении). Чтобы быть «реальным», ваше слово должно быть признано официальным словарем Scrabble .
Я использую словарь Эрудит, так как он дает четкий ответ о том, что является, а что нет. Слишком много серых областей с обычным словарем. Обратите внимание, что «A» и «I» (не говоря уже о «quine») не являются допустимыми словами скрэббл.
Поскольку написание квинны только с использованием букв и пробелов практически невозможно в большинстве языков программирования, у вас есть возможность заменить одиночные пробелы между словами выбранным вами символом. У вас также есть возможность добавить символы в начале первого слова и в конце последнего слова. Эти добавленные символы могут быть чем угодно (включая символы новой строки и не-ASCII), кроме букв (az, AZ) . Существует штраф за их добавление (см. Оценка).
Детали
- Как обычно, квины не могут читать или получать доступ к своему исходному коду. (Я бы сказал, что команда Q HQ9 + нарушает это.)
- Вывод должен идти в стандартный вывод или аналогичную альтернативу. Там нет ввода.
- Слова не должны быть написаны с заглавной буквы правильно. Они могут иметь заглавные и строчные буквы где угодно. Последовательность слов не должна иметь никакого смысла.
- Ни одно слово не может быть использовано более 3 раз в вашей программе. Слова с разной заглавной буквой - это одно и то же слово (например, «DOG», «собака» и «dOg» - это одно и то же слово).
- Использование таких языков, как PHP или HTML, которые могут просто отследить их содержимое, считается тривиальной лазейкой и недопустимо.
- Программа должна содержать хотя бы одно слово.
счет
Ваша оценка - это количество "реальных слов" в вашей программе плюс эти штрафы:
- +1 за каждый пробел, который был заменен другим персонажем
- n n для каждых n символов, которые вы добавили перед первым словом (да, это n в степени n)
- n n для каждого n символов, которые вы добавили после последнего слова
Например, программа
We all LIKE PROgraMmING
набрал бы 4, потому что он содержит 4 слова; никакие символы не были добавлены или заменены пробелами. Это вывод, конечно, будет We all LIKE PROgraMmING
.
Программа
!We@all LIKE#PROgraMmING- =
набрал бы 4 + 2 + 1 + 27 = 34; 4 для слов, 2 для замененных пробелов, 1 для !
спереди и 27 для - =
в конце. Это вывод, конечно, будет !We@all LIKE#PROgraMmING- =
.
Самый низкий балл побеждает. Tiebreaker идет к ответу с наименьшим количеством штрафных очков. Если еще есть ничья, победит ответ с наибольшим количеством голосов.