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

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

언덕수

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

요약
최대 70자리 정수 N이 주어지면 N보다 작은 hill number 개수를 세고 N이 hill number가 아니면 -1을 출력합니다.
난이도

보통10점 중 6점

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

문제

언덕수는 각 자릿수가 커지다가 작아질 수는 있지만, 작아진 뒤에 다시 커지는 일은 절대 없는 정수다.

  • 12321은 언덕수다.
  • 101은 언덕수가 아니다.
  • 1111000001111은 언덕수가 아니다.

이웃한 두 자릿수가 같은 것은 꼭대기 앞에서든 뒤에서든 허용한다. 세는 대상은 0 이상의 정수이고, 0도 언덕수다.

정수 NN이 주어진다. NN이 언덕수라면 NN보다 작은 언덕수의 개수를 출력하고, 언덕수가 아니라면 −1-1을 출력한다.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다 (1≤T≤1001 \le T \le 100).

이어지는 TT개의 줄에 각각 정수 NN이 주어진다. NN은 1 이상이고 자릿수는 70을 넘지 않는다. 답은 항상 64비트 부호 있는 정수의 범위 안에 들어온다.

출력

각 테스트 케이스마다 답을 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    5
    10
    55
    101
    1000
    1234321
    
    예상 출력
    10
    55
    -1
    715
    94708
    
  2. 예제 2

    입력
    9
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    예상 출력
    1
    2
    3
    4
    5
    6
    7
    8
    9