만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

진단 0 : 1

면접 대비

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

요약
a 이상 b 이하의 정수 k 중 m진법 자릿수 합이 n인 수의 개수를 구합니다.
난이도

보통10점 중 5점

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

문제

22 이상의 양의 정수 mm마다, 음이 아닌 정수 집합을 정의역으로 하는 함수 fmf_{m}을 다음과 같이 정의한다.

fm(x)={0(x=0)fm(xm)(x≡0(modm))fm(⌊xm⌋)+1(x≢0(modm))f_{m}(x) = \begin{cases} 0 & (x = 0) \\ f_{m}\left(\dfrac{x}{m}\right) & (x \equiv 0 \pmod {m}) \\ f_{m}\left(\left\lfloor\dfrac{x}{m}\right\rfloor\right) + 1 & (x \not\equiv 0 \pmod {m}) \end{cases}

양의 정수 aa, bb, mm, nn이 주어질 때, a≤k≤ba \le k \le b인 정수 kk 중에서 fm(k)=nf_{m}(k) = n을 만족하는 것의 개수를 구하여라.

입력

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

다음 TT개의 줄에 양의 정수 aa, bb, mm, nn이 공백으로 구분되어 주어진다. (1≤a≤b≤1018;(1 \le a \le b \le 10^{18}; 2≤m≤10;2 \le m \le 10; 1≤n≤100)1 \le n \le 100)

출력

TT개의 줄에 걸쳐, 각각의 aa, bb, mm, nn에 대해 a≤k≤ba \le k \le b에서 fm(k)=nf_{m}(k) = n인 정수 kk의 개수를 출력한다.

예제1

  1. 예제 1

    입력
    3
    1 7 2 2
    8 12 3 1
    7 17 4 2
    
    예상 출력
    3
    1
    8