스크롤 전광판

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

요약
너비가 k인 단어들이 순서대로 주어질 때, 연속한 단어가 겹칠 수 있음을 이용해 모든 단어를 표시하는 데 필요한 최소 글자 수를 구한다.
난이도

보통10점 중 5점

유형
동적 계획법, 문자열, 문자열 매칭, 그리디
정답자
아직 제출이 없습니다

문제

전광판(스크롤 간판)은 광고에 자주 쓰입니다. 어떤 전광판은 정확히 kk개의 문자를 표시합니다. 전원을 켜면 모든 자리가 비어 있습니다(공백을 표시). 매 시간 단위마다 전광판의 모든 문자가 왼쪽으로 한 칸씩 이동하고, 가장 오른쪽 자리에 새 문자가 하나 들어옵니다. 가장 왼쪽에 있던 문자는 전광판 밖으로 밀려납니다.

어떤 단어 순서에서는 앞 단어의 문자를 재사용해 다음 단어를 만들 수 있습니다. 예를 들어 자리 수가 3인 전광판에서는 문자 다섯 개 CATED만 흘려보내면 CAT, ATE, TED를 차례로 표시할 수 있습니다.

메시지는 주어진 순서대로 모두 표시해야 하는 단어들의 목록입니다. 흘려보내는 문자가 적을수록 더 많은 사람이 메시지 전체를 볼 수 있습니다. 메시지의 단어들 사이에 메시지에 포함되지 않는 다른 단어가 전광판에 나타나도 괜찮지만, 메시지의 단어들은 반드시 주어진 순서대로 나타나야 합니다. 메시지 전체를 표시하기 위해 흘려보내야 하는 문자의 최소 개수를 구하세요.

입력

첫 줄에 정수 nn, 즉 테스트 케이스의 개수가 주어집니다.

각 테스트 케이스의 첫 줄에는 두 정수 kk와 ww가 주어집니다. kk는 전광판의 문자 자리 수, ww는 메시지에 포함된 단어의 개수이며 1≤k,w≤1001 \le k, w \le 100입니다. 이어지는 ww개의 줄에는 각각 정확히 kk개의 대문자로 이루어진 메시지의 단어가 하나씩 주어집니다.

출력

각 테스트 케이스마다 한 줄에 정수 하나를 출력합니다. 이는 메시지의 모든 단어를 순서대로 표시하기 위해 전광판에 흘려보내야 하는 문자의 최소 개수입니다.

예제1

  1. 예제 1

    입력
    2
    3 2
    CAT
    TED
    3 3
    CAT
    ATE
    TEA
    
    예상 출력
    5
    5