Ваше завдання - визначити, чи задана рядок належної довжини і чи може бути представлена плитками Scrabble, і, якщо так, вивести суму балів кожної літери.
Якщо ви не знаєте, як грати в 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 Б 2 3 Р 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 I 9 1 W 2 4 J 1 8 X 1 8 K 1 5 Y 2 4 L 4 1 Z 1 10 М 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
Тестові шафи
Введення-виведення ------------------------ ЧАСТИНА 14 JAZZ 19 СТЕКС-ОБМІН 32 XYWFHQYVZVJKHFW 81 PIZZAZZ Недійсний KIXOKEJAJAX Недійсний НЕЗАБАВЛЕННЯ Неправильне
-1
,?
Invalid
.