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

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

Welcome to Code Jam (작은 입력)

면접 대비

시간 제한5초메모리 제한512 MB

요약
입력 문자열에서 "welcome to code jam"이 부분 수열로 나타나는 경우의 수를 세고, 그 결과의 마지막 네 자리를 출력한다.
난이도

보통10점 중 4점

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

문제

긴 문단 하나를 훑어보면 먼저 'w'를 찾고, 그 뒤에서 'e'를 찾고, 다시 그 뒤에서 'l'을 찾는 식으로 "welcome to code jam"이라는 문구를 얼마든지 만들어 낼 수 있다. 같은 문단이라도 어떤 글자를 고르느냐에 따라 서로 다른 방법이 나온다.

텍스트 한 줄이 주어질 때, 그 안에서 "welcome to code jam"을 부분 수열로 만드는 방법이 몇 가지인지 센다. 정확히 말하면 입력 문자열을 SS, 목표 문자열을 TT = "welcome to code jam"이라 할 때, s[0]<s[1]<⋯<s[18]s[0] < s[1] < \cdots < s[18]을 만족하면서 S[s[0]],S[s[1]],…,S[s[18]]S[s[0]], S[s[1]], \ldots, S[s[18]]을 이어 붙인 결과가 TT와 같아지는 인덱스 수열 ss의 개수를 구한다. TT의 길이는 공백을 포함해 19이고, 공백도 반드시 입력의 공백에서 골라야 한다.

답이 매우 커질 수 있으므로 마지막 네 자리만 구한다.

입력

첫째 줄에 테스트 케이스의 개수 NN이 주어진다. 이어지는 NN개의 줄에 테스트 케이스가 한 줄에 하나씩 주어진다. 각 줄은 영어 소문자와 공백으로만 이루어지고, 공백으로 시작하거나 끝나지 않는다.

제한

  • 1≤N≤1001 \le N \le 100
  • 각 줄의 길이는 30자를 넘지 않는다.

출력

각 테스트 케이스마다 Case #x: dddd 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, dddd는 답의 마지막 네 자리이다. 답이 네 자리보다 짧으면 앞을 0으로 채워 정확히 네 자리로 만든다.

예제3

  1. 예제 1

    입력
    3
    elcomew elcome to code jam
    wweellccoommee to code qps jam
    welcome to codejam
    
    예상 출력
    Case #1: 0001
    Case #2: 0256
    Case #3: 0000
    
  2. 예제 2

    입력
    1
    welcome to code jam
    
    예상 출력
    Case #1: 0001
    
  3. 예제 3

    입력
    1
    maj edoc ot emoclew
    
    예상 출력
    Case #1: 0000