SP5969 FINDMAX - Finding Maximum

题目描述

一种找出数组中最大元素的方法是:首先将一个变量初始化为数组的第一个元素,然后遍历数组的剩余部分,遇到比该变量严格更大的值时,就更新该变量。这道题告诉我们:如果一个数组有 $N$ 个元素,每个元素的值都在 $1$ 到 $K$ 之间,那么有多少种这样的数组,能够使得上述算法恰好进行 $P$ 次更新?注意,变量的初始化不算作一次更新。 举个例子,当 $N = 4$, $K = 3$, $P = 2$ 时,满足条件的数组有: 1) {1, 1, 2, 3} 2) {1, 2, 1, 3} 3) {1, 2, 2, 3} 4) {1, 2, 3, 1} 5) {1, 2, 3, 2} 6) {1, 2, 3, 3}

输入格式

第一行是一个整数 $T$,表示测试用例的数量。接下来的 $T$ 行中,每行包含三个整数,分别是 $N$、$K$ 和 $P$,用空格隔开。

输出格式

对于每个测试用例,输出一行结果。因为结果可能会非常大,请输出对 $1000000007$ 取模后的结果。 ## 数据范围 - $1 \leq T \leq 100$ - $1 \leq N, K, P \leq 1000$ **本翻译由 AI 自动生成**