CF2097B.Baggage Claim
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
每个机场都有一个行李提取区,Balbesovo 机场也不例外。某天,Sheremetyevo 机场的一位管理员提出了一个不同寻常的想法:将传统的行李传送带形状从旋转盘改为更复杂的形式。
假设行李提取区被表示为一个 n×m 的矩形网格。管理员提议传送带的路径应穿过单元格 p1,p2,…,p2k+1,其中 pi=(xi,yi)。
对于每个单元格 pi 和下一个单元格 pi+1(其中 1≤i≤2k),这两个单元格必须共享一条公共边。此外,路径必须是简单的,即对于任意两个不同的索引 i=j,单元格 pi 和 pj 不能重合。
不幸的是,路径计划被意外洒出的咖啡弄脏了,只保留了路径中奇数索引的单元格:p1,p3,p5,…,p2k+1。你的任务是给定这些 k+1 个单元格,计算恢复原始完整路径 p1,p2,…,p2k+1 的可能方式的数量。
由于答案可能非常大,请输出其对 109+7 取模的结果。
输入格式
每个测试包含多个测试用例。第一行输入测试用例数量 t(1≤t≤3⋅104)。接下来是各测试用例的描述。
每个测试用例的第一行包含三个整数 n、m 和 k(1≤n,m≤1000,n⋅m≥3,1≤k≤⌊21(nm−1)⌋)—— 网格的尺寸和定义路径长度的参数。
接下来是 k+1 行,第 i 行包含两个整数 x2i−1 和 y2i−1(1≤x2i−1≤n,1≤y2i−1≤m)—— 路径上单元格 p2i−1 的坐标。
保证所有 (x2i−1,y2i−1) 对都是不同的。
保证所有测试用例的 n⋅m 之和不超过 106。
输出格式
对于每个测试用例,输出一个整数——恢复原始完整路径的方式数量对 109+7 取模的结果。
输入输出样例
输入#1
5 2 4 2 1 1 2 2 2 4 1 4 1 1 1 1 4 5 5 11 2 5 3 4 4 5 5 4 4 3 5 2 4 1 3 2 2 1 1 2 2 3 1 4 3 4 4 1 2 2 1 3 2 2 3 3 4 3 3 2 2 2 1 1 1 3
输出#1
2 0 2 5 1
说明/提示
在第一个测试用例中,有两种可能的路径:
- (1,1)→(2,1)→(2,2)→(2,3)→(2,4)
- (1,1)→(1,2)→(2,2)→(2,3)→(2,4)
在第二个测试用例中,没有合适的路径,因为单元格 (1,1) 和 (1,4) 没有共同的相邻单元格。
翻译由 DeepSeek V3 完成
输入解题思路,AI测评打分。不知道怎么写?