합이 N인 비감소 분할 중 첫 항이 D로 나누어떨어지고 모든 항의 최댓값과 최솟값 차이가 2 이하인 경우의 수를 센다.
보통6동적 계획법조합론수학구현아직 제출이 없습니다시간 제한5초메모리 제한512 MB셰쿠에게 공 N개가 있다. 셰쿠는 이 공을 바구니 한 개 이상에 나누어 담으려고 하며, 다음 조건을 모두 지켜야 한다.
셰쿠가 공을 나누어 담는 방법은 몇 가지인가? 왼쪽에서 오른쪽으로 읽은 공 개수의 목록이 다르면 서로 다른 방법으로 센다.
첫째 줄에 테스트 케이스의 개수 T가 주어진다.
다음 T개의 줄에 각각 두 정수 N과 D가 주어진다.
제한
각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, y는 공을 나누어 담는 방법의 수이다. 답은 32비트 정수 범위를 넘을 수 있다.
예제 1의 첫 번째 테스트 케이스 (N=7, D=1)에서 가능한 분배는 다음 10가지다.
1 1 1 1 1 1 11 1 1 1 1 21 1 1 1 31 1 1 2 21 2 2 21 1 2 31 3 32 2 33 471 2 4는 1과 4의 차이가 2보다 크므로 올바른 분배가 아니다.
예제 1의 두 번째 테스트 케이스 (N=7, D=2)에서 가능한 분배는 2 2 3 하나뿐이다. 3 4는 첫 항이 2의 배수가 아니라서 안 된다.
예제 1의 세 번째 테스트 케이스 (N=2, D=4)에서는 가능한 분배가 없다.