Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

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:

  1. Punkty przyznawane są za każdy wyraz ułożony poziomo albo pionowo.
  2. 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.
  3. Do podstawowej wartości wyrazu doliczane są premie literowe, a następnie słowne.
  4. Na planszy występują dwa rodzaje premii literowych:
    1. podwójna - oznaczona znakiem 2 - wartość litery wzrasta dwukrotnie
    2. potrójna - oznaczona znakiem 3 - wartość litery wzrasta trzykrotnie
  5. Oraz dwa rodzaje premii słownych:
    1. podwójna - oznaczona znakiem D - wartość wyrazu wraz z uwzględnieniem premii literowych i innych premii słownych wzrasta dwukrotnie
    2. potrójna - oznaczona znakiem T - wartość wyrazu wraz z uwzględnieniem premii literowych i innych premii słownych wzrasta trzykrotnie
  6. Na planszy może wystąpić dowolna liczba pól premii literowych oraz słownych.
  7. 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łowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM64 SCM qobi

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.