我虽然不会告诉你们答案,但我可以点明一下思路和算法。
哈喽,加入CSDN第二天,开始吧!!!
棋盘上 A 点有一个过河卒,需要走到目标 B 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。
棋盘用坐标表示,A点 (0, 0)、B点 (n, m),同样马的位置坐标是需要给出的。
现在要求你计算出卒从 A点能够到达 B 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。
输入格式
一行四个正整数,分别表示 B 点坐标和马的坐标。
输出格式
一个整数,表示所有的路径条数。
输入输出样例
输入:
6 6 3 3
输出:
6
这题其实不用高精,具体做法如下
我们先来看题目:
- 棋盘上 A点有一个过河卒,需要走到目标 B点。卒行走的规则:可以向下、或者向右。同时在棋盘上 C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A点 (0,0)、B点 (n,m)为不超过 2020 的整数,同样马的位置坐标是需要给出的。现在要求你计算出卒从 A 点能够到达 B 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。
什么意思呢?我们要清楚,A 点的坐标是(0,0)!并且,卒只能向下或向右!
我们都清楚象棋中的马是如何跳的,跳的是“日”字形。看下表:以输入样例 6×6,马在 (3,3)为例,左至右分别为 x ,上至下分别为 y。
下面顺便对样例进行一下解释:
0 | 0 | 0 | 0 | 0 | 0 | 0 |
---|