CodeCraft-21 and Codeforces Round 711 (Div. 2)
C
Planar Reflections
Codeforces
1600
原题
← BD →
翻译中…

Gaurang has grown up in a mystical universe. He is faced by $n$ consecutive 2D planes. He shoots a particle of decay age $k$ at the planes.

翻译中…

A particle can pass through a plane directly, however, every plane produces an identical copy of the particle going in the opposite direction with a decay age $k-1$. If a particle has decay age equal to $1$, it will NOT produce a copy.

翻译中…

For example, if there are two planes and a particle is shot with decay age $3$ (towards the right), the process is as follows: (here, $D(x)$ refers to a single particle with decay age $x$)

翻译中…
  1. the first plane produces a $D(2)$ to the left and lets $D(3)$ continue on to the right;
  2. the second plane produces a $D(2)$ to the left and lets $D(3)$ continue on to the right;
  3. the first plane lets $D(2)$ continue on to the left and produces a $D(1)$ to the right;
  4. the second plane lets $D(1)$ continue on to the right ($D(1)$ cannot produce any copies).
翻译中…

In total, the final multiset $S$ of particles is $\{D(3), D(2), D(2), D(1)\}$. (See notes for visual explanation of this test case.)

翻译中…

Gaurang is unable to cope up with the complexity of this situation when the number of planes is too large. Help Gaurang find the size of the multiset $S$, given $n$ and $k$.

翻译中…

Since the size of the multiset can be very large, you have to output it modulo $10^9+7$.

翻译中…

Note: Particles can go back and forth between the planes without colliding with each other.

翻译中…

Input

翻译中…

The first line of the input contains the number of test cases $t$ ($1 \le t \le 100$). Then, $t$ lines follow, each containing two integers $n$ and $k$ ($1 \le n, k \le 1000$).

翻译中…

Additionally, the sum of $n$ over all test cases will not exceed $1000$, and the sum of $k$ over all test cases will not exceed $1000$. All test cases in one test are different.

翻译中…

Output

翻译中…

Output $t$ integers. The $i$-th of them should be equal to the answer to the $i$-th test case.

翻译中…

Note

翻译中…

Let us explain the first example with four test cases.

翻译中…

Test case 1: ($n = 2$, $k = 3$) is already explained in the problem statement.

翻译中…

See the below figure of this simulation. Each straight line with a different color represents the path of a different particle. As you can see, there are four distinct particles in the multiset. Note that the vertical spacing between reflected particles is for visual clarity only (as mentioned before, no two distinct particles collide with each other)

翻译中…

image

翻译中…

Test case 2: ($n = 2$, $k = 2$) is explained as follows:

翻译中…
  1. the first plane produces a $D(1)$ to the left and lets $D(2)$ continue on to the right;
  2. the second plane produces a $D(1)$ to the left and lets $D(2)$ continue on to the right;
  3. the first plane lets $D(1)$ continue on to the left ($D(1)$ cannot produce any copies).
翻译中…

Total size of multiset obtained $\{D(1), D(1), D(2)\}$ is equal to three.

翻译中…

Test case 3: ($n = 3$, $k = 1$), there are three planes, but decay age is only one. So no new copies are produced while the one particle passes through the planes. Hence, the answer is one.

翻译中…

Test case 4: ($n = 1$, $k = 3$) there is only one plane. The particle produces a new copy to the left. The multiset $\{D(2), D(3)\}$ is of size two.

翻译中…

样例

Input #1
4
2 3
2 2
3 1
1 3
Output #1
4
3
1
2
InputCopy OutputCopy
Input #2
3
1 1
1 500
500 250
Output #2
1
2
257950823
InputCopy OutputCopy
题目信息
题号
1498C
时间限制
1 s
内存限制
256 MB
标签
暴力
数据结构
动态规划

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。