Ваша задача состоит в том, чтобы определить, имеет ли данная строка надлежащую длину и может ли она быть представлена плитками скрэббла, и, если это так, вывести сумму баллов каждой буквы.
Если вы не знаете, как играть в Scrabble:, у вас есть 100 плиток с напечатанными на них различными буквами A – Z, а также два символа подстановки, которые могут представлять любую букву. Каждая буква имеет определенное количество точек, и каждый тайл (но не обязательно слово) можно использовать только один раз. При воспроизведении слова добавляется сумма очков для каждой используемой плитки, которая становится результатом. Поскольку доступно ограниченное количество букв, слово может иметь только определенную букву столько раз, сколько эта буква имеет плитки + любые неиспользуемые символы подстановки. Доска Scrabble имеет размер 15 × 15 ячеек, поэтому длина слова должна быть от 2 до 15 символов.
Список количества и оценки каждой буквы в английской версии см. Ниже или http://boardgames.about.com/od/scrabble/a/tile_distribute.htm ( архив ).
Буква Кол-во очков Буква Кол-во очков ------------------- ------------------- A 9 1 O 8 1 B 2 3 P 2 3 C 2 3 Q 1 10 D 4 2 R 6 1 E 12 1 S 4 1 F 2 4 T 6 1 G 3 2 U 4 1 H 2 4 V 2 4 Я 9 1 W 2 4 J 1 8 X 1 8 K 1 5 Y 2 4 L 4 1 Z 1 10 M 2 3 [дикий] 2 0 N 6 1
Дальнейшие правила
- Программа должна принимать одну строку ввода из STDIN или тому подобного.
- Ввод всегда будет содержать только заглавные буквы.
- Если строка содержит больше копий буквы, чем неиспользуемых подстановочных знаков или фрагментов для этой буквы ИЛИ длина строки не должна быть между 2 и 15 включительно, программа должна вывести
Invalid
. - В противном случае, оценка должна быть добавлена с использованием данных из диаграммы выше и вывода.
- Не используйте подстановочные знаки без необходимости.
- Не беспокойтесь о бонусах, таких как оценка двойного слова или о том, является ли строка реальным словом.
- Программа должна выводить результат через STDOUT или тому подобное.
- Лазейки, которые по умолчанию запрещены , не допускаются.
- Использование внешнего источника, такого как веб-сайт, а также любых библиотек, API-интерфейсов, функций и т. П., Которые рассчитывают баллы Scrabble или правильные количества, недопустимы.
- Это код-гольф , поэтому побеждает меньше байтов.
Прохождение
Input: CODEGOLF
C -> 3, O -> 1, D -> 2, E -> 1, G -> 2, O -> 1, L -> 1, F -> 4
3 + 1 + 2 + 1 + 2 + 1 + 1 + 4 = 15
Output: 15
Testcases
Ввод, вывод ------------------------ СКРАБЛ 14 JAZZ 19 STACKEXCHANGE 32 XYWFHQYVZVJKHFW 81 PIZZAZZ Invalid KIXOKEJAJAX Неверно Неверное недопустимое
-1
,?
Invalid
.