페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
40000
ms
메모리 제한
1024
MB
친구 John이 방금 휴가에서 돌아왔고, 문자열에 관해 새로 알게 된 성질을 여러분에게 알려 주고 싶어 한다.
John은 대문자 영어 문자로 이루어진 길이 의 문자열 에서, 를 만족하는 모든 인덱스 쌍 와 에 대해( 기준), 위치 의 문자가 위치 의 문자보다 작으면 그 문자열이 엄격히 증가한다는 것을 알게 되었다.
예를 들어, 문자열 ABC와 ADF는 엄격히 증가하지만, 문자열 ACC와 FDA는 그렇지 않다.
이 흥미로운 새 성질을 알려 준 John은 이제 여러분에게 도전 과제를 내기로 했다. 길이 의 문자열 가 주어질 때, 모든 위치 에 대해 위치 에서 끝나는 가장 긴 엄격히 증가하는 부분 문자열의 길이를 구해야 한다.
메모리 제한: 1 GB. .
시간 제한: 20초. .
시간 제한: 40초. .
입력의 첫 번째 줄에는 테스트 케이스의 수 가 주어진다. 이어서 개의 테스트 케이스가 주어진다.
각 테스트 케이스는 두 줄로 이루어진다.
첫 번째 줄에는 문자열의 길이를 나타내는 정수 이 주어진다.
두 번째 줄에는 대문자 영어 문자로 이루어진 길이 의 문자열 가 주어진다.
각 테스트 케이스마다 Case #$x$: $y_1$ $y_2$ ... $y_n$를 포함하는 한 줄을 출력한다. 여기서 는 1부터 시작하는 테스트 케이스 번호이고, 는 위치 에서 끝나는 가장 긴 엄격히 증가하는 부분 문자열의 길이이다.
2
4
ABBC
6
ABACDA
Case #1: 1 2 1 2
Case #2: 1 2 1 2 3 1
예제 케이스 #1에서 위치 에서 끝나는 가장 긴 엄격히 증가하는 부분 문자열은 A이다. 위치 , , 에서 끝나는 가장 긴 엄격히 증가하는 부분 문자열은 각각 AB, B, BC이다.
예제 케이스 #2에서 각 위치에 대한 가장 긴 엄격히 증가하는 부분 문자열은 A, AB, A, AC, ACD, A이다.
Copyright Google LLC; sourced from the Google Coding Competitions Archive.
로그인 상태를 확인하는 중입니다.