만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Qizz Quzz (쉬움)

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

요약
주어진 라벨 열에서 규칙이 최대 2개이고 문자열 길이가 4인 Fizz Buzz 변형이 만들 수 있는 가장 긴 앞부분의 길이를 구합니다.
난이도

보통10점 중 4점

유형
구현, 완전 탐색, 문자열
정답자
아직 제출이 없습니다

문제

Generalized Fizz Buzz는 원래의 Fizz Buzz와 같은 방식으로 동작한다. 프로그램은 1부터 양의 정수를 차례로 출력하되, 일부 특수한 수와 그 배수는 문자열로 바꾼다. 어떤 수가 여러 특수한 수로 나누어떨어지면 해당 문자열을 모두 이어 붙인 것으로 바꾼다.

이 문제에서는 Generalized Fizz Buzz를 구현하지 않는다. 주어진 수열이 Generalized Fizz Buzz 프로그램의 출력이 될 수 있는지 판단한다.

하나의 프로그램은 양의 정수 nn, 음이 아닌 정수 kk, 서로 다른 양의 정수 d1,d2,...,dkd_1, d_2, ..., d_k (d1<d2<...<dkd_1 < d_2 < ... < d_k), 소문자 영문자로 이루어진 문자열 s1,...,sks_1, ..., s_k로 정해진다.

nn은 출력 수열의 길이이다. kk는 치환 규칙의 개수이다. 각 규칙은 did_i의 배수 대신 sis_i를 출력한다는 뜻이다. 여러 규칙이 적용되면 해당하는 sis_i를 did_i가 작은 순서부터 이어 붙인 것이 레이블이 된다.

예를 들어 원래의 Fizz Buzz는 k=2k = 2, d=(3,5)d = (3, 5), s=(fizz,buzz)s = (fizz, buzz)이다. n=17n = 17이면 출력은 1 2 fizz 4 buzz fizz 7 8 fizz buzz 11 fizz 13 14 fizzbuzz 16 17이다. 15는 3과 5로 모두 나누어떨어지므로 fizzbuzz를 출력한다. sis_i의 순서는 바꿀 수 없으므로 buzzfizz는 나올 수 없다.

Samko는 자신만의 구현을 작성했다. 이 구현은 k≤2k \le 2이고 모든 문자열 sis_i의 길이가 정확히 4인 입력만 처리한다.

Samko가 레이블 수열 ℓ1,...,ℓn\ell_1, ..., \ell_n을 보여주었다. Samko의 프로그램이 출력할 수 있는 접두사 ℓ1,...,ℓq\ell_1, ..., \ell_q에서 가장 큰 qq를 구하라.

입력

첫 줄에 테스트 케이스의 개수 tt가 주어진다. 각 테스트 케이스 앞에는 빈 줄이 있다. 각 테스트 케이스는 두 줄로 이루어진다. 첫 줄에는 레이블의 개수인 양의 정수 n≤1000n \le 1000이 주어진다. 둘째 줄에는 공백 한 칸으로 구분된 비어 있지 않은 토큰 nn개 ℓ1,...,ℓn\ell_1, ..., \ell_n이 주어진다. 각 토큰은 숫자와 소문자 영문자만 포함한다.

출력

각 테스트 케이스마다 정수 qq를 한 줄에 출력한다.

힌트

첫 번째 예시에서 처음 여섯 토큰은 k=1k = 1, d1=1d_1 = 1, s1=mlems_1 = mlem인 Generalized Fizz Buzz 프로그램의 출력이다. Samko의 프로그램과 Monika의 프로그램 모두 이 입력을 처리할 수 있으므로 두 답은 모두 6이다. 두 번째 예시에서 2는 qizz로, 3은 quzz로 바꿔야 한다. 처음 다섯 토큰은 이 수열과 일치한다. 다음 토큰은 quzzqizz가 아니라 qizzquzz여야 하고, 마지막 토큰은 007이 아니라 7이어야 한다. 세 번째 예시에서 hunter2는 문자와 숫자를 함께 포함하므로 잘못되었다. 네 번째 예시에서 d=(1,2)d = (1, 2), s=(haha,haha)s = (haha, haha)이다. 문자열 sis_i가 서로 달라야 할 필요는 없다. 다섯 번째 예시에서 bat는 길이가 3인 문자열이므로 Samko의 프로그램이 처리하지 못해 이미 잘못되었다.

예제1

  1. 예제 1

    입력
    5
    
    7
    mlem mlem mlem mlem mlem mlem fail
    
    7
    1 qizz quzz qizz 5 quzzqizz 007
    
    8
    1 2 3 4 hunter2 is my password
    
    2
    haha hahahaha
    
    9
    1 bat 3 batman robin batbat 7 batmanman 9
    
    예상 출력
    6
    5
    4
    2
    1