A70609. 过河卒
编程题
提高
知识点
题目描述
A 点有一个过河卒,需要走到目标 B 点。
卒行走规则:可以向下、或者向右。同时在棋盘上的任一点有一个对方的马(如下图的 C 点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点。
例如:下图 C 点可以控制 9 个点(图中的 P1,P2 \dots P8 和 C ),卒不能通过对方马的控制点。 棋盘用坐标表示,现给定 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
说明/提示
## 思路
「过河卒」找递推关系,用数组或滚动变量从前往后算。
## 步骤
1. 读入 $n$ 或初始值。
2. 写出 $f(n)$ 与更小项的关系并初始化。
3. 循环递推到目标并输出。
「过河卒」找递推关系,用数组或滚动变量从前往后算。
## 步骤
1. 读入 $n$ 或初始值。
2. 写出 $f(n)$ 与更小项的关系并初始化。
3. 循环递推到目标并输出。