题单练习 递推

A70609 | 过河卒

来源编程题
时间限制1s
内存限制16MB
通过 / 提交0/0

题目描述

A 点有一个过河卒,需要走到目标 B 点。

卒行走规则:可以向下、或者向右。同时在棋盘上的任一点有一个对方的马(如下图的 C 点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点。

例如:下图 C 点可以控制 9 个点(图中的 P1,P2 \dots P8C ),卒不能通过对方马的控制点。 棋盘用坐标表示,现给定 A 点位置为 (0,0)B 点位置为 (n,m) (n,m 为不超过 20 的整数),马的位置 C(X,Y)(约定: C 点与 A 点不重叠,与 B 点也不重叠)。

要求你计算出卒从 A 点能够到达 B 点的路径的条数。

输入格式

B 点的坐标 (n,m) 以及对方马的坐标 (X,Y);(马的坐标一定在棋盘范围内,但要注意,可能落在边界的轴上)

输出格式

输出卒从 A 点能够到达 B 点的路径条数。(本题的路径条数可能会超过 10^9,但不会超过 10^{18},C/C++选手请注意使用long long)

输入输出样例

输入 #1
6 6 3 2
输出 #1
17
C++ 编辑器
输入
输出