#T045. k 维空间路径问题(K-Dimensional Lattice Paths)
k 维空间路径问题(K-Dimensional Lattice Paths)
k 维空间路径问题(K-Dimensional Lattice Paths)
题目描述
我们都知道二维空间路径数问题。即从 走到 ,每次可以往两个维度的任意维度前进一步,即从 走到 或者 ,问路径数量。
现在,有一个 维空间,刚开始小 Z 在 点,终点位于 点。小 Z 每一步可以在任意维度上前进一步,具体地,假设小 Z 现在在 ,那么下一步小 Z 可以走到 $(x_1+1,x_2,...,x_k),(x_1,x_2+1,...,x_k),...,(x_1,x_2,\cdots,x_k+1)$ 这 个点中的任意一个。
但是,在这 维空间中,又有 个点是障碍物,这些点不能走,这 个点的坐标分别为 $(a_{11}, a_{12},...a_{1k}),(a_{21}, a_{22},...a_{2k}),...,(a_{n1}, a_{n2},...a_{nk})$。
问小 Z 有多少种不同的方案,可以在不经过 个障碍物点的情况下到达终点,答案可能很大,只需要输出对 取模的结果。
输入格式
第一行包含两个正整数 ,空间维度和障碍物点数。
第二行包含 个整数, ,表示终点的坐标。
接下来 行,每行包含 个整数, ,表示第 个障碍物点的坐标。
输出格式
输出一行正整数表示方案数,对 取模。
样例输入 #1
2 0
2 1
样例输出 #1
3
样例输入 #2
2 1
2 2
1 1
样例输出 #2
2
样例输入 #3
3 2
2 2 1
0 0 1
1 2 1
样例输出 #3
15
数据范围
【样例 1 解释】
三条路径分别为 $(0,0)\rightarrow(0,1)\rightarrow(1,1)\rightarrow(2,1)$ ,$(0,0)\rightarrow(1,0)\rightarrow(1,1)\rightarrow(2,1)$ , $(0,0)\rightarrow(1,0)\rightarrow(2,0)\rightarrow(2,1)$ 。
【样例 2 解释】
两条路径分别为 $(0,0)\rightarrow(0,1)\rightarrow(0,2)\rightarrow(1,2)\rightarrow(2,2)$ , $(0,0)\rightarrow(1,0)\rightarrow(2,0)\rightarrow(2,1)\rightarrow(2,2)$ 。
【数据范围】
设 。
对于前 的数据,满足 。
对于前 的数据,满足 。
对于另 的数据,满足 。
对于另 的数据,满足 。
对于另 的数据,满足 。
对于 的数据,满足 $2\le k\le10,\ 0\le n\le5000,\ 1\le m\le10^5,\ 0\le a_{ik}\le s_{ik}$ ,保证 个点以及起点和终点都互不相同 。
知识点与难度
本题涉及的知识点从属于 CSP-S,难度(CF Rating):1900。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~3 | 样例 |
| 1 | 25 | 4~8 | 小规模与边界测试数据 |
| 2 | 30 | 9~16 | 中等规模测试数据 |
| 3 | 35 | 17~25 | 满规模极限测试数据 |
出处:原题链接