스크래블(Scrabble)은 121개국에서 29개 언어로 1억 세트 넘게 팔린 단어 게임이다. 각 타일에는 알파벳 한 글자가 적혀 있으며, 간단한 규칙(여기서는 다루지 않는다)에 따라 이 타일들을 보드 위에 놓아 단어를 만든다.
각 글자 타일의 점수는 다음과 같다.
| 점수 | 글자 |
|---|---|
| 10 | Q, Z |
| 8 | J, X |
| 5 | K |
| 4 | F, H, V, W, Y |
| 3 | B, C, M, P |
| 2 | D, G |
| 1 | A, E, I, L, N, O, R, S, T, U |
보드는 15×15 크기의 격자다. 일부 칸은 보너스를 주는 프리미엄 칸이다.
2L은 그 타일 점수를 2배, 3L은 3배로 만든다.2W는 2배, 3W는 3배다. 한 단어가 여러 개의 단어 보너스 칸을 덮으면 그 배수를 모두 곱한다.행은 위에서 아래로 1부터 15까지, 열은 왼쪽에서 오른쪽으로 A부터 O까지 번호를 매긴다. 프리미엄 칸의 배치는 다음과 같다(..은 일반 칸이며, 중앙 칸 H8은 2W 단어 보너스로 취급한다).
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
예를 들어 BANQUET를 O열 1행에서 시작해 아래로 놓으면 84점이다. 타일 Q가 글자 2배 칸에 놓이고 단어 전체가 단어 3배 칸 하나를 덮으므로 (3+1+1+10×2+1+1+1)×3=84가 된다. 같은 칸에서 시작해 BANQUETS를 놓으면 추가된 S도 단어 3배 칸에 놓이므로 (3+1+1+2×10+1+1+1+1)×3×3=261점이 된다.
이 문제에서는 이미 보드에 놓인 타일, 빈 타일, 인접 타일, 랙 보너스 등은 모두 무시하고 각 단어를 그 자체로만 채점한다.
입력은 여러 줄로 이루어지며, 각 줄은 하나의 놓기를 나타낸다. 각 줄은 단어 시작 위치의 표기로 시작하고, 공백 하나에 이어 단어(대문자 알파벳 2~15개로 이루어진 문자열)가 온다.
시작 위치는 행 번호와 열 문자를 공백 없이 붙여 쓴다. 행 번호가 먼저 오면(예: 15H) 단어를 가로로(오른쪽으로) 놓고, 열 문자가 먼저 오면(예: O1) 단어를 세로로(아래쪽으로) 놓는다. 행 번호는 1부터 15까지, 열 문자는 A부터 O까지이다.
모든 단어는 보드 안에 완전히 들어가는 것이 보장된다. 놓기의 목록은 # 한 글자만 있는 줄로 끝난다.
각 놓기에 대해 한 줄씩 출력한다. 입력에 주어진 놓기 표기를 그대로(시작 위치, 공백, 단어) 쓴 뒤, 공백 하나에 이어 그 놓기의 점수를 출력한다.