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

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

증가하는 수

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

요약
각 테스트 케이스마다 자릿수가 감소하지 않으면 더 작은 증가 수의 개수를 세고 그렇지 않으면 -1을 출력합니다.
난이도

보통10점 중 6점

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

문제

증가하는 수는 각 자리 숫자가 바로 앞자리 숫자보다 크거나 같은 수이다.

다음 세 수를 보자.

  • 123
  • 101
  • 1111000001111

123은 1<2<31 < 2 < 3이므로 증가하는 수이다. 101은 둘째 자리 0이 첫째 자리 1보다 작으므로 증가하는 수가 아니다. 1111000001111도 다섯째 자리 0이 넷째 자리 1보다 작으므로 증가하는 수가 아니다.

한 자리 수는 모두 증가하는 수이고, 0도 증가하는 수이다.

입력

첫 줄에 테스트 케이스의 수가 주어진다.

각 테스트 케이스는 한 줄에 자연수 하나로 이루어진다. 이 수는 80자리를 넘지 않으며 맨 앞자리는 0이 아니다.

출력

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

주어진 수가 증가하는 수가 아니면 -1을 출력한다.

증가하는 수이면 그 수보다 작은 증가하는 정수의 개수를 출력한다. 0부터 세기 때문에 0도 개수에 들어간다.

모든 답은 64비트 정수 범위에 들어간다.

힌트

모든 자리 숫자가 같으면 증가하는 수이다.

예제2

  1. 예제 1

    입력
    5
    11
    123
    101
    1111
    99999
    
    예상 출력
    10
    65
    -1
    220
    2001
    
  2. 예제 2

    입력
    1
    1
    
    예상 출력
    1