스크래블 점수 계산

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

스크래블(Scrabble)은 121개국에서 29개 언어로 1억 세트 넘게 팔린 단어 게임이다. 각 타일에는 알파벳 한 글자가 적혀 있으며, 간단한 규칙(여기서는 다루지 않는다)에 따라 이 타일들을 보드 위에 놓아 단어를 만든다.

각 글자 타일의 점수는 다음과 같다.

점수글자
10Q, Z
8J, X
5K
4F, H, V, W, Y
3B, C, M, P
2D, G
1A, E, I, L, N, O, R, S, T, U

보드는 15×1515 \times 15 크기의 격자다. 일부 칸은 보너스를 주는 프리미엄 칸이다.

  • 글자 보너스 칸은 그 칸에 놓인 타일 하나의 점수를 배로 만든다. 2L은 그 타일 점수를 2배, 3L은 3배로 만든다.
  • 단어 보너스 칸은 (모든 글자 보너스를 적용한 뒤) 단어 전체의 점수를 배로 만든다. 2W는 2배, 3W는 3배다. 한 단어가 여러 개의 단어 보너스 칸을 덮으면 그 배수를 모두 곱한다.

행은 위에서 아래로 1부터 15까지, 열은 왼쪽에서 오른쪽으로 A부터 O까지 번호를 매긴다. 프리미엄 칸의 배치는 다음과 같다(..은 일반 칸이며, 중앙 칸 H82W 단어 보너스로 취급한다).

    A  B  C  D  E  F  G  H  I  J  K  L  M  N  O
 1  3W .. .. 2L .. .. .. 3W .. .. .. 2L .. .. 3W
 2  .. 2W .. .. .. 3L .. .. .. 3L .. .. .. 2W ..
 3  .. .. 2W .. .. .. 2L .. 2L .. .. .. 2W .. ..
 4  2L .. .. 2W .. .. .. 2L .. .. .. 2W .. .. 2L
 5  .. .. .. .. 2W .. .. .. .. .. 2W .. .. .. ..
 6  .. 3L .. .. .. 3L .. .. .. 3L .. .. .. 3L ..
 7  .. .. 2L .. .. .. 2L .. 2L .. .. .. 2L .. ..
 8  3W .. .. 2L .. .. .. 2W .. .. .. 2L .. .. 3W
 9  .. .. 2L .. .. .. 2L .. 2L .. .. .. 2L .. ..
10  .. 3L .. .. .. 3L .. .. .. 3L .. .. .. 3L ..
11  .. .. .. .. 2W .. .. .. .. .. 2W .. .. .. ..
12  2L .. .. 2W .. .. .. 2L .. .. .. 2W .. .. 2L
13  .. .. 2W .. .. .. 2L .. 2L .. .. .. 2W .. ..
14  .. 2W .. .. .. 3L .. .. .. 3L .. .. .. 2W ..
15  3W .. .. 2L .. .. .. 3W .. .. .. 2L .. .. 3W

예를 들어 BANQUETO1행에서 시작해 아래로 놓으면 84점이다. 타일 Q가 글자 2배 칸에 놓이고 단어 전체가 단어 3배 칸 하나를 덮으므로 (3+1+1+10×2+1+1+1)×3=84(3+1+1+10 \times 2+1+1+1) \times 3 = 84가 된다. 같은 칸에서 시작해 BANQUETS를 놓으면 추가된 S도 단어 3배 칸에 놓이므로 (3+1+1+2×10+1+1+1+1)×3×3=261(3+1+1+2 \times 10+1+1+1+1) \times 3 \times 3 = 261점이 된다.

이 문제에서는 이미 보드에 놓인 타일, 빈 타일, 인접 타일, 랙 보너스 등은 모두 무시하고 각 단어를 그 자체로만 채점한다.

입력

입력은 여러 줄로 이루어지며, 각 줄은 하나의 놓기를 나타낸다. 각 줄은 단어 시작 위치의 표기로 시작하고, 공백 하나에 이어 단어(대문자 알파벳 2~15개로 이루어진 문자열)가 온다.

시작 위치는 행 번호와 열 문자를 공백 없이 붙여 쓴다. 행 번호가 먼저 오면(예: 15H) 단어를 가로로(오른쪽으로) 놓고, 열 문자가 먼저 오면(예: O1) 단어를 세로로(아래쪽으로) 놓는다. 행 번호는 1부터 15까지, 열 문자는 A부터 O까지이다.

모든 단어는 보드 안에 완전히 들어가는 것이 보장된다. 놓기의 목록은 # 한 글자만 있는 줄로 끝난다.

출력

각 놓기에 대해 한 줄씩 출력한다. 입력에 주어진 놓기 표기를 그대로(시작 위치, 공백, 단어) 쓴 뒤, 공백 하나에 이어 그 놓기의 점수를 출력한다.