题目背景
想回到过去
试着抱你在怀里
羞怯的脸带有一点稚气
想看你看的世界
想在你梦的画面
只要靠在一起就能感觉甜蜜
想回到过去
试着让故事继续
至少不再让你离我而去
分散时间的注意
这次会抱得更紧
这样挽留不知还来不来得及
想回到过去
沉默支撑跃过陌生
静静看着凌晨黄昏
你的身影 失去平衡
慢慢下沉
想回到过去
—— 周杰伦《回到过去》
什么阻碍着两颗心的碰面?什么阻碍着两个人的相见?
或许是令人捉摸不透的时间吧。
题目描述
给出 n,m,t 以及 t 个障碍物坐标,求在 n 行 m 列的矩阵中的非障碍位置上放置 k 个两两之间没有公共边的方格的方案有多少种,答案对 109+7 取模。
输入格式
本题有多组数据。
第一行一个整数 T,表示测试点数量。
接下来 T 个测试点,每个测试点的第一行四个整数 n,m,k,t。接下来 t 行,每行两个整数 xi,yi,表示第 i 个障碍物的坐标(保证不重叠)。
输出格式
共 T 行,每行一个整数表示当前询问的答案。
提示
【样例解释 #4】
对于测试点 1,可以画出如下的图:

其中用黑色格子表示障碍物,可发现只有 {(1,2)(1,4)}{(1,2)(2,3)}{(2,2)(1,4)}{(2,3)(1,4)} 四种方案满足题意。
对于测试点 2,可以画出如下的图:

可发现只有 {(1,1)(1,3)(2,2)}{(1,1)(1,3)(2,4)}{(1,1)(2,2)(2,4)}{(1,3)(2,1)(2,4)}{(1,3)(2,2)(2,4)} 五种情况符合题意。
数据点约定
数据点编号 |
n |
m |
k |
t |
1 |
=1 |
≤109 |
=2 |
=0 |
2 |
=3 |
3 |
≤20 |
=2 |
4 |
=3 |
5 |
=2 |
≤400 |
6 |
=3 |
7,8 |
≤1000 |
=2 |
=0 |
9,10 |
=3 |
11 |
=2 |
≤10 |
12 |
=3 |
13,14 |
≤109 |
=n |
=2 |
=0 |
15,16 |
=3 |
17,18 |
≤109 |
=2 |
19,20 |
=3 |
21,22 |
=2 |
≤2×104 |
23,24 |
=3 |
25 |
2≤k≤3 |
对于 100% 的数据,1≤n,m≤109,2≤k≤3,0≤t≤min(n⋅m,2×104),1≤xi≤n,1≤yi≤m,1≤T≤10。每个数据点等分值。