挑战洛谷普及(P1002)

本文详细解析了“马拦过河卒”的问题,介绍了棋盘上卒从A点到达B点,避开马的控制点的路径数量计算。通过分析马的行走规则和控制点,提出了动态规划的解决方案,提供了DFS或DP的思路,并给出了具体的边界条件。最后提醒读者,此题使用long long类型即可,无需高精度计算。
摘要由CSDN通过智能技术生成

虽然不会告诉你们答案,但我可以点明一下思路和算法。

哈喽,加入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
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值