Count the permutation

3.5

16 votes
Grammar-Verified, Open, Recruit, Approved, Grammar-Verified, Open, Recruit, Approved, Grammar-Verified, 2 Dimensional, Dynamic Programming, 2D dynamic programming, Hard, Two dimensional, Algorithms
Problem

You are given two numbers A and S.

Write a program to determine the number of ways in which the numbers that are greater than or equal to S can be added to get the sum A. Print the result as modulo 109+9.

Input format

  • First line: T denoting the number of test cases
  • For each test case:
    • First line: Two space-separated integers A and S

Output format

For each test case, print the number of ways to get the sum equal to A by using the numbers that are greater than or equal to S. Since the number can be large, print it modulo 109+9 .

Constraints

1T1000
1A,S1000

Time Limit: 1
Memory Limit: 256
Source Limit:
Explanation

In the first test case: <1, 1> and <2> are the 2 ways.

In the second test case: <1,1,1>, <1,2> and <3> are the three ways.

Editor Image

?