Twoim zadaniem jest ustalenie, czy dany ciąg ma odpowiednią długość i może być reprezentowany za pomocą płytek Scrabble, a jeśli tak, to wyświetl sumę wyniku każdej litery.
Jeśli nie wiesz, jak grać w Scrabble: masz 100 płytek z nadrukowanymi różnymi literami A – Z, a także dwie symbole wieloznaczne, które mogą reprezentować dowolną literę. Każda litera ma określoną liczbę punktów, a każda płytka (ale niekoniecznie słowo) może być użyta tylko raz. Kiedy słowo jest odtwarzane, sumuje się wartość punktową każdego użytego kafelka, który staje się wynikiem. Ponieważ dostępna jest ograniczona liczba liter, słowo może mieć tylko określoną literę tyle razy, ile litera ma kafelki + wszelkie nieużywane symbole wieloznaczne. Tablica Scrabble ma 15 × 15 komórek, więc słowo musi mieć od 2 do 15 znaków.
Aby uzyskać listę ilości i punktacji każdej litery w wersji angielskiej, patrz poniżej lub http://boardgames.about.com/od/scrabble/a/tile_distribute.htm ( archiwum ).
Liczba listów Liczba Liczba listów ------------------- ------------------- 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 I 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 [dziki] 2 0 N 6 1
Dalsze zasady
- Program pobiera pojedynczy ciąg danych wejściowych ze STDIN lub podobnego.
- Dane wejściowe zawsze będą zawierać tylko wielkie litery.
- Jeśli ciąg zawiera więcej kopii litery niż nieużywane symbole wieloznaczne lub kafelki dla tej litery LUB długość łańcucha nie jest zawarta między 2 a 15 włącznie, program powinien wypisać dane
Invalid
. - W przeciwnym razie wynik należy zsumować z wykorzystaniem danych z powyższej tabeli i wyników.
- Nie używaj symboli wieloznacznych, chyba że jest to konieczne.
- Nie martw się o bonusy, takie jak wyniki podwójnych słów lub to, czy ciąg znaków jest prawdziwym słowem.
- Program wyświetli wynik poprzez STDOUT lub podobny.
- Luki, które są domyślnie zabronione, nie są dozwolone.
- Korzystanie z zewnętrznego źródła, takiego jak strona internetowa, a także dowolnych bibliotek, interfejsów API, funkcji itp., Które obliczają wyniki Scrabble lub odpowiednie ilości nie są dozwolone.
- To jest golf golfowy , więc wygrywa najmniej bajtów.
Przewodnik
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
Przypadki testowe
Wejście wyjście ------------------------ SCRABBLE 14 JAZZ 19 WYMIANA STOSUNKU 32 XYWFHQYVZVJKHFW 81 PIZZAZZ Nieprawidłowy KIXOKEJAJAX Niepoprawny NIEPRAWIDŁOWOŚĆ Niepoprawny
-1
?
Invalid
.