물 문제
Lweb 문자열을 가지고
S.
Oneday, 그는 새로운 시퀀스에이 문자열을 변환하기로 결정했다.
당신은 그 (엄밀히 증가) 가장 긴 LIS를 가지고 시퀀스를 얻기 위해 이러한 변화를 결정하는 데 도움이 필요합니다.
새 번호로이 문자열의 모든 문자를 변환해야합니다.
A는 글자들의 세트 인 S S, B B는 자연수의 집합이다.
모든 주입 F는 : →의 B는 법적인 변화로서 취급 될 수있다.
예를 들어, 문자열 "AABC" A는 = { A는 , B는 , (C) }, 그리고 그 "1 1 2 3"을 변환 할 수 있으며, 새로운 시퀀스의 LIS 3이다.
지금 당신은에서 얻을 수있는 가장 긴 LIS 찾아 Lweb 도움 S S.
가장 긴 증가 서브 시퀀스 : LIS를. (https://en.wikipedia.org/wiki/Longest_increasing_subsequence)
Oneday, 그는 새로운 시퀀스에이 문자열을 변환하기로 결정했다.
당신은 그 (엄밀히 증가) 가장 긴 LIS를 가지고 시퀀스를 얻기 위해 이러한 변화를 결정하는 데 도움이 필요합니다.
새 번호로이 문자열의 모든 문자를 변환해야합니다.
A는 글자들의 세트 인 S S, B B는 자연수의 집합이다.
모든 주입 F는 : →의 B는 법적인 변화로서 취급 될 수있다.
예를 들어, 문자열 "AABC" A는 = { A는 , B는 , (C) }, 그리고 그 "1 1 2 3"을 변환 할 수 있으며, 새로운 시퀀스의 LIS 3이다.
지금 당신은에서 얻을 수있는 가장 긴 LIS 찾아 Lweb 도움 S S.
가장 긴 증가 서브 시퀀스 : LIS를. (https://en.wikipedia.org/wiki/Longest_increasing_subsequence)
입력
입력의 첫 번째 행은 정수만을 포함 T , ( 1 ≤ T ≤ 20 )
이어서 T 라인은 i 번째 라인은 문자열을 포함, 따라 S 만 소문자를 포함,의 길이 S S는 초과하지 않습니다 (105).
산출
출력 한 줄 "케이스 #x를 : Y"테스트 케이스를 들어, X 및 Y는 1부터 케이스 번호 인 해답이다.
샘플 입력
2 aabcc의 acdeaa
샘플 출력
사례 # 1 : 3 사례 # 2 : 4
질문의 의미 :
이 질문은 우리가 상황이, 반나절 무엇을 모르고있다가 추구 얼마나 많은 다른 문자입니다
1 #INCLUDE <STDIO.H> 2 #INCLUDE < 문자열 .H> 3 4 INT ) (주 5 { 6 INT LEN, I, t, 책 [ 105 ]; 7 숯불 이 [ 100005를 ]; 8 는 scanf ( " %의 D " , t); 9 INT CAS = 0 , ANS; 10 동안 (t-- ) 11 { 12 는 scanf ( " %의 S " , a); 13 ANS = 0; 14 LEN = 용 의 strlen (a); 15 memset 함수 (책, 0 , sizeof 연산자 (책)); (16) 에 대한이 (I = 0 ; I <렌; 내가 ++ ) 17 { 18 일 경우 (책 [A [I] - ' ' ] == 0 ) 19 { 20 ANS ++ ; 21 책 [A [I] - ' ' ] = 1 ; 22 } 23 } 24 의 printf ( " 케이스 %의 D %의 D \ 없음 " , ++ CAS, ANS); 25 } 26 반환 0 ; 27 }