증가와 감소

면접 대비

시간 제한1초메모리 제한1024 MB

요약
a 이상 b 이하의 정수 중 각 자릿수가 한 번 증가한 뒤 감소하는 수의 개수를 구한다.
난이도

보통10점 중 6점

유형
완전 탐색, 구현, 수학, 누적 합
정답자
아직 제출이 없습니다

문제

대구과학고 학생인 정현이는 숫자의 규칙을 찾는 것을 좋아한다. 특히 요즘에는 증가 후 감소하는 수에 빠졌다. 증가 후 감소하는 수란, 0으로 시작하지 않도록 십진수로 표현하였을 때 각 자릿수가 증가하다가 감소하는 양의 정수를 의미한다. 다시 말해서, 양의 정수 n=∑_i=0k−1a_i10i=a_k−1a_k−2...a_1a_0‾(0≤a_i≤9,a_in=\sum \_{i=0}^{k-1}a\_i10^i=\overline{a\_{k-1}a\_{k-2}...a\_1a\_0}(0\leq a\_i\leq 9, a\_i는 정수, a_k−1≠0)a\_{k-1}\neq0)에 대하여, 어떤 1≤j≤k−21\leq j\leq k-2가 존재하여 a_k−1\<a_k−2<...\<a_j+1\<a_j>a_j−1>...>a_1>a_0a\_{k-1}\<a\_{k-2}<...\<a\_{j+1}\<a\_j>a\_{j-1}>...>a\_1>a\_0이면 nn을 증가 후 감소하는 수라고 한다. 예를 들어, 1358613586은 1<3<5<8>61 < 3 < 5 < 8 > 6이므로 증가 후 감소하는 수다.

두 양의 정수 a,ba, b가 주어졌을 때, aa 이상 bb 이하의 양의 정수 중 증가 후 감소하는 수가 몇 개인지 구해보자.

입력

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

그다음 줄부터 tt개의 줄 동안 두 양의 정수 a,ba,b가 공백으로 구분되어 주어진다.

출력

각 테스트케이스마다 aa 이상 bb 이하인 증가 후 감소하는 수의 개수를 한 줄에 하나씩 출력한다.

제한

  • 1≤t≤1051 \leq t \leq 10^5
  • 1≤a≤b≤1061 \leq a \leq b \leq 10^6

예제1

  1. 예제 1

    입력
    2
    1 121
    3 20
    
    예상 출력
    2
    0