#arc0124. [arc012_4]Don't worry. Be Together
[arc012_4]Don't worry. Be Together
问题
有 个人在二维平面上的格点上。
每个回合,每个人只能向上下左右四个方向之一移动 步。
重复这个过程,直到 个回合结束时,所有人同时集中到原点 。
求此时每个人的移动方案有多少种,答案对 取余数。
如果无论如何都无法让所有人同时集中到原点,则输出 。
输入
输入以以下格式从标准输入中给出: : :
- 第 行包含三个整数,分别表示人数 、移动回合数 和正整数 ,以空格分隔。
- 第 行至第 行,每行包含两个整数,表示第 个人所在的坐标 。
子任务
测试数据分为以下 种子任务,每个子任务都包含不同范围的整数 。
只要能正确输出某个子任务中的所有测试数据,即使在其他子任务中输出错误也可以获得相应的部分得分。
- 子任务1 ( 分) :,
- 子任务2 ( 分) :,
- 子任务3 ( 分) :,
输出
输出在恰好 个回合后,有多少种移动方案使得所有人聚集在原点,将结果对 取余数。
如果无论如何都无法让所有人同时集中到原点,则输出 。
将答案输出至标准输出,末尾需要换行符。
输入示例 1
2 2 1000000007
1 1
-1 -1
输出示例 1
4
-
假设将 轴正方向定义为右, 轴正方向定义为上。
-
在第 个回合中,有 种方法让两个人到达原点:
- 第一个人先向下移动,然后向右移动;第二个人先向上移动,然后向左移动;
- 第一个人先向下移动,然后向右移动;第二个人先向左移动,然后向上移动;
- 第一个人先向右移动,然后向下移动;第二个人先向上移动,然后向左移动;
- 第一个人先向右移动,然后向下移动;第二个人先向左移动,然后向上移动;
输入示例 2
4 4 1000000007
0 4
4 0
-4 0
0 -4
输出示例 2
1
- 只有沿着直线向原点移动的方案存在,所以答案为 。
输入示例 3
1 6 10
0 0
输出示例 3
0
- 在 个回合内从原点返回原点的方法有 种,所以输出 的余数为 。
输入示例 4
3 7 12345
2 3
0 1
-2 -1
输出示例 4
11415