아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

노래

시간 제한1초메모리 제한256 MB

요약
26 by 26 쌍 점수표가 주어질 때 C로 시작하는 L개 음표 노래 중 인접한 쌍 점수 합이 가장 큰 값을 구합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 행렬, 그래프
정답자
아직 제출이 없습니다

문제

토끼용 악기에는 A부터 Z까지 영어 대문자로 적는 음 26개가 있다. 이 문자를 이어 붙이면 토끼 노래가 되고, 문자 하나는 그 음을 한 박자 연주한다는 뜻이다. 노래의 길이는 문자의 개수다. 예를 들어 AASDFG는 길이가 6인 노래이고, 1박자에 A, 2박자에 A, 3박자에 S, 4박자에 D, 5박자에 F, 6박자에 G를 연주한다.

토끼 심리학자는 i+1i+1번째 박자의 음이 주는 행복도가 ii번째 박자의 음과 i+1i+1번째 박자의 음이 이루는 짝으로 정해진다는 사실을 알아냈다. 이 값은 음 행복도 표에 적혀 있고, 표는 토끼마다 다르다. 표의 행은 ii번째 박자의 음, 열은 i+1i+1번째 박자의 음을 뜻하며 둘 다 A부터 Z 순서다. 행이 xx, 열이 yy인 칸의 값을 s(x,y)s(x, y)라고 하자. 1박자의 음은 행복도를 주지 않으므로 노래 AASDFG의 행복도는 s(A,A)+s(A,S)+s(S,D)+s(D,F)+s(F,G)s(A, A) + s(A, S) + s(S, D) + s(D, F) + s(F, G)이다.

음 행복도 표와 노래의 첫 음, 노래의 길이가 주어진다. 이 조건을 지키는 노래가 줄 수 있는 가장 큰 행복도를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다 (1≤T≤101 \le T \le 10). 각 테스트 케이스는 다음과 같이 이루어진다.

  1. 음 행복도 표가 26줄에 걸쳐 주어진다. 각 줄에는 행복도 sijs_{ij} 26개가 공백으로 구분되어 주어진다 (0≤sij≤1000 \le s_{ij} \le 100). ii번째 줄의 jj번째 값은 ii번째 음 다음에 jj번째 음을 연주할 때 얻는 행복도이고, 음의 순서는 A부터 Z까지다.
  2. 다음 줄에 질문의 개수 NN이 주어진다 (1≤N≤101 \le N \le 10).
  3. 다음 NN개의 줄에 노래의 첫 음을 나타내는 영어 대문자 CC와 노래의 길이 LL이 공백으로 구분되어 주어진다 (1≤L≤1000001 \le L \le 100000).

출력

각 질문마다 첫 음이 CC이고 길이가 LL인 노래로 얻을 수 있는 가장 큰 행복도를 한 줄에 하나씩, 입력에 주어진 순서대로 출력한다.

예제3

  1. 예제 1

    입력
    1
    9 9 8 7 7 0 3 1 6 2 9 7 0 0 0 5 3 2 6 5 4 1 4 7 8 0
    6 2 9 5 0 4 8 3 8 2 8 1 9 7 0 6 3 0 2 1 0 5 0 7 9 3
    9 7 5 9 9 6 2 1 5 6 3 7 9 1 8 8 7 0 8 1 8 8 1 0 1 8
    1 6 9 1 5 0 7 8 0 2 0 9 8 0 2 0 0 1 8 8 4 8 6 3 4 2
    4 6 0 5 6 5 9 7 7 1 8 4 6 3 2 3 8 3 2 4 8 8 0 2 4 3
    2 8 9 4 8 0 9 5 4 2 7 9 3 4 3 7 5 5 1 5 2 4 0 6 1 1
    0 2 8 7 6 9 6 5 8 0 7 6 8 6 1 7 3 0 3 5 9 0 6 5 0 7
    5 6 6 2 8 8 6 7 4 6 0 2 8 2 5 3 4 9 6 2 1 8 7 4 4 9
    1 3 0 1 8 2 2 2 5 1 4 3 6 9 4 9 0 3 0 2 1 5 2 5 5 8
    5 2 5 0 3 2 0 0 9 7 4 0 8 5 6 0 2 6 9 0 0 6 0 2 8 7
    7 2 8 7 8 4 5 0 9 4 0 2 6 3 6 0 2 7 3 9 9 4 8 7 7 9
    6 9 7 2 0 8 3 4 2 9 3 4 1 8 7 1 1 3 4 1 3 9 0 6 4 9
    9 6 7 6 1 7 1 7 2 2 5 0 4 8 5 6 8 0 4 0 0 1 6 8 4 5
    1 0 7 6 9 0 3 6 2 5 0 4 2 8 3 6 4 3 0 9 3 4 2 9 8 5
    0 4 9 9 3 2 1 6 6 9 2 4 9 6 1 2 5 6 0 8 4 2 0 3 6 9
    6 9 8 5 3 9 9 0 7 1 8 8 1 9 4 0 2 9 1 3 1 4 0 7 3 8
    0 7 4 9 3 4 5 4 1 9 7 1 7 2 6 4 1 7 7 2 5 6 0 9 2 9
    0 9 4 9 5 0 1 7 7 7 8 7 0 6 9 6 8 6 7 5 3 1 7 9 7 0
    0 6 1 2 7 2 6 7 3 7 6 2 7 5 3 3 2 1 0 3 2 6 2 8 6 8
    6 1 8 1 4 0 5 6 5 8 1 0 6 5 8 9 1 4 8 6 3 4 5 1 2 4
    4 9 9 5 4 3 8 6 0 6 1 0 4 7 4 5 4 9 8 3 0 5 2 7 6 0
    2 4 2 1 7 1 3 9 4 7 0 5 5 1 9 1 3 0 4 3 4 3 2 8 9 3
    8 9 9 1 6 3 5 9 4 9 3 7 3 8 0 4 1 0 9 0 0 5 5 8 3 6
    8 5 8 6 8 5 4 1 1 0 4 0 8 6 7 7 1 7 9 9 6 6 7 5 5 2
    3 0 0 0 7 5 5 4 0 3 2 0 9 6 6 1 4 2 4 5 3 6 2 7 9 7
    9 0 1 6 1 1 7 8 1 0 1 6 1 5 2 6 8 1 3 3 0 6 6 4 2 4
    2
    A 5
    G 10
    
    예상 출력
    36
    81
    
  2. 예제 2

    입력
    1
    9 9 8 7 7 0 3 1 6 2 9 7 0 0 0 5 3 2 6 5 4 1 4 7 8 0
    6 2 9 5 0 4 8 3 8 2 8 1 9 7 0 6 3 0 2 1 0 5 0 7 9 3
    9 7 5 9 9 6 2 1 5 6 3 7 9 1 8 8 7 0 8 1 8 8 1 0 1 8
    1 6 9 1 5 0 7 8 0 2 0 9 8 0 2 0 0 1 8 8 4 8 6 3 4 2
    4 6 0 5 6 5 9 7 7 1 8 4 6 3 2 3 8 3 2 4 8 8 0 2 4 3
    2 8 9 4 8 0 9 5 4 2 7 9 3 4 3 7 5 5 1 5 2 4 0 6 1 1
    0 2 8 7 6 9 6 5 8 0 7 6 8 6 1 7 3 0 3 5 9 0 6 5 0 7
    5 6 6 2 8 8 6 7 4 6 0 2 8 2 5 3 4 9 6 2 1 8 7 4 4 9
    1 3 0 1 8 2 2 2 5 1 4 3 6 9 4 9 0 3 0 2 1 5 2 5 5 8
    5 2 5 0 3 2 0 0 9 7 4 0 8 5 6 0 2 6 9 0 0 6 0 2 8 7
    7 2 8 7 8 4 5 0 9 4 0 2 6 3 6 0 2 7 3 9 9 4 8 7 7 9
    6 9 7 2 0 8 3 4 2 9 3 4 1 8 7 1 1 3 4 1 3 9 0 6 4 9
    9 6 7 6 1 7 1 7 2 2 5 0 4 8 5 6 8 0 4 0 0 1 6 8 4 5
    1 0 7 6 9 0 3 6 2 5 0 4 2 8 3 6 4 3 0 9 3 4 2 9 8 5
    0 4 9 9 3 2 1 6 6 9 2 4 9 6 1 2 5 6 0 8 4 2 0 3 6 9
    6 9 8 5 3 9 9 0 7 1 8 8 1 9 4 0 2 9 1 3 1 4 0 7 3 8
    0 7 4 9 3 4 5 4 1 9 7 1 7 2 6 4 1 7 7 2 5 6 0 9 2 9
    0 9 4 9 5 0 1 7 7 7 8 7 0 6 9 6 8 6 7 5 3 1 7 9 7 0
    0 6 1 2 7 2 6 7 3 7 6 2 7 5 3 3 2 1 0 3 2 6 2 8 6 8
    6 1 8 1 4 0 5 6 5 8 1 0 6 5 8 9 1 4 8 6 3 4 5 1 2 4
    4 9 9 5 4 3 8 6 0 6 1 0 4 7 4 5 4 9 8 3 0 5 2 7 6 0
    2 4 2 1 7 1 3 9 4 7 0 5 5 1 9 1 3 0 4 3 4 3 2 8 9 3
    8 9 9 1 6 3 5 9 4 9 3 7 3 8 0 4 1 0 9 0 0 5 5 8 3 6
    8 5 8 6 8 5 4 1 1 0 4 0 8 6 7 7 1 7 9 9 6 6 7 5 5 2
    3 0 0 0 7 5 5 4 0 3 2 0 9 6 6 1 4 2 4 5 3 6 2 7 9 7
    9 0 1 6 1 1 7 8 1 0 1 6 1 5 2 6 8 1 3 3 0 6 6 4 2 4
    5
    A 1
    A 2
    S 6
    Z 3
    D 7
    
    예상 출력
    0
    9
    44
    18
    54
    
  3. 예제 3

    입력
    1
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    3
    A 1
    Q 2
    Z 100000
    
    예상 출력
    0
    0
    0