QOJ.ac

QOJ

実行時間制限: 2 s メモリ制限: 256 MB 満点: 100

#11346. 赤壁之战

統計

曹操集结了大军,准备南下侵略。周瑜对此感到忧虑。他认为击败曹操的唯一方法是在曹操的军队中安插一名间谍。但曹操麾下的将领和士兵都非常忠诚,想要说服他们中的任何一人背叛曹操是不可能的。

因此,周瑜只剩下最后一个办法:派人向曹操诈降。盖黄被选中执行这一重要任务。然而,曹操并非轻易相信他人,所以盖黄在投降前必须向曹操泄露一些重要情报。

周瑜与盖黄商议后,按发生顺序制定了 $N$ 条待泄露的情报。每条情报在曹操看来都有一个估值 $a_i$。

事实上,如果泄露的情报价值严格递增,就能更快地赢得曹操的信任。因此,盖黄决定按发生顺序选择 $M$ 条情报进行泄露,且这些情报的价值必须严格递增。换句话说,盖黄不会改变这 $N$ 条情报的顺序,只需从中选出 $M$ 条。请找出盖黄有多少种选择情报的方法。

输入格式

输入的第一行包含测试用例的数量 $T(1 \le T \le 100)$。接下来是 $T$ 个测试用例。

每个测试用例的第一行包含两个数字 $N(1 \le N \le 10^3)$ 和 $M(1 \le M \le N)$,分别表示情报的总数和盖黄将要选择的情报数量。随后一行包含 $N$ 个数字,其中第 $i$ 个数字 $a_i(1 \le a_i \le 10^9)$ 表示按发生顺序排列的第 $i$ 条情报在曹操眼中的价值。

输出格式

对于每个测试用例,输出一行 “Case #x: y”,其中 $x$ 是测试用例编号(从 1 开始),$y$ 是盖黄选择情报的方法数。

由于结果可能非常大,你需要将结果对 $1000000007(10^9 + 7)$ 取模。

样例

样例输入 1

2
3 2
1 2 3
3 2
3 2 1

样例输出 1

Case #1: 3
Case #2: 0

说明

在第一个样例中,盖黄需要从 3 条情报中泄露 2 条。由于所有情报的价值都是递增的,他可以泄露任意 2 条情报。在第二个样例中,盖黄没有选择,因为任意选择 2 条情报都不满足价值递增的要求。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.