Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
MWP6_2E - Scrabble |
Stasiowi i Grzesiowi znudziła się już gra planszowa, w którą grali podczas pierwszej rundy i postanowili zagrać w zmodyfikowaną wersję gry Scrabble. Właśnie Grześ ułożył na planszy ostatni wyraz i już miał cieszyć się ze zwycięstwa kiedy Staś po raz kolejny krzyknął w jego stronę:
- Oszukujesz! Tylu punktów nie ma na całej planszy, a co dopiero w Twoich wyrazach!
- Ależ oczywiście, że jest. Za całą planszę zdobyć można dokładnie m punktów!
Podobnie jak poprzednio i tym razem Twoim zadaniem jest napisanie programu, który obliczy wartość m. Ponieważ nasi bohaterowie grają w lekko zmodyfikowaną wersję gry Scrabble, dlatego też poniżej prezentujemy kilka zasad niezbędnych do obliczenia wartości całej planszy:
- Punkty przyznawane są za każdy wyraz ułożony poziomo albo pionowo.
- Podstawowa wartość wyrazu to suma punktów przyznanych za każdą literę. Za samogłoskę dodajemy 1 punkt, zaś za spółgłoskę 3 punkty.
- Do podstawowej wartości wyrazu doliczane są premie literowe, a następnie słowne.
- Na planszy występują dwa rodzaje premii literowych:
- podwójna - oznaczona znakiem 2 - wartość litery wzrasta dwukrotnie
- potrójna - oznaczona znakiem 3 - wartość litery wzrasta trzykrotnie
- Oraz dwa rodzaje premii słownych:
- podwójna - oznaczona znakiem D - wartość wyrazu wraz z uwzględnieniem premii literowych i innych premii słownych wzrasta dwukrotnie
- potrójna - oznaczona znakiem T - wartość wyrazu wraz z uwzględnieniem premii literowych i innych premii słownych wzrasta trzykrotnie
- Na planszy może wystąpić dowolna liczba pól premii literowych oraz słownych.
- Wartość planszy to suma wartości wszystkich ułożonych na niej wyrazów z uwzględnieniem premii literowych oraz słownych.
Wejście
W pierwszej linii wejścia znajdują się dwie liczby całkowite a i b (2 ≤ a, b ≤ 30) określające rozmiar planszy do gry. W kolejnych a liniach znajduje się po b znaków opisujących premie występujące na planszy:
- 0 - brak premii
- 2 - podwójna premia literowa
- 3 - potrójna premia literowa
- D - podwójna premia słowna
- T - potrójna premia słowna
W następnych a liniach znajduje się po b znaków opisujących wyrazy ułożone na planszy. Każdy znak to . oznaczająca puste pole albo wielka litera alfabetu angielskiego.
Wyjście
Na wyjściu należy wypisać liczbę m czyli wartość punktową całej wczytanej planszy.
Przykład
Wejście
7 6 02D003 0000T0 000000 000000 000T00 000000 000000 .TERAZ ...OH. ...Z.. ...W.. .MNIE. ...A.. ...Z..
Wyjście
133
Dodane przez: | Maciej Boniecki |
Data dodania: | 2014-03-14 |
Limit czasu wykonania programu: | 0.300s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM64 SCM qobi |