题目描述

如图,A 点有一个过河卒,需要走到目标 B 点。卒行走规则:可以向下、或者向右。同时在棋盘上的 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。

例如上图 C 点上的马可以控制 9 个点(图中的P1​,P2​,⋯P8​ 和 C)。卒不能通过对方马的控制点。

棋盘用坐标表示,A 点(0,0)、B 点$(n,m)(n,m \leq 20)$,同样马的位置坐标是需要给出的。

现在要求你计算出卒从 A 点能够到达 B 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。

输入描述

一行四个正整数,分别表示 B 点坐标和马的坐标。

输出描述

一个整数,表示所有的路径条数。

输入输出样例

示例 1

输入

6 6 3 3

输出

6

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

思路

我们定义状态dp[][]为卒子走到坐标(i,j)时能走的条数

如果不考虑马的控制,i,j) 点的路径条数等于它上面和左边的路径条数之和,即

我们这道题中要考虑马的位置,当卒子走到马的控制点时,我们跳过这个点,让这个点还为0,不会影响控制点下边和左边的dp[][],这样我们就可以继续计算其他点的dp[][]的值了。

代码

n,m,x,y=map(int,input().split())dp=[[0]*40 for i in range(40)]
#可以控制的八个点和初始位置
dx=[0,2,1,-1,-2,-2,-1,1,2]
dy=[0,1,2,2,1,-1,-2,-2,-1]lst=[[0,0]]def check(x,y):global n,mif x<0 or x>n or y<0 or y>m:return Falseelse:return True#走到(0,0)位置的路只有一条
dp[0][0]=1
for i in range(9):X=x+dx[i]Y=y+dy[i]if check(X,Y)==False:continueelse:lst.append([X,Y])for i in range(0,n+1):for j in range(0,m+1):if [i,j] in lst:continueelse:   dp[i][j]=dp[i-1][j]+dp[i][j-1]
print(dp[n][m])

过河卒-蓝桥杯-动态规划相关推荐

  1. 蓝桥杯动态规划基础篇(一)

    一.什么是动态规划?有套路吗? 动态规划(Dynamic Programming,DP)是运筹学的一个分支,是求解决策过程最优化的过程.20世纪50年代初,美国数学家贝尔曼(R.Bellman)等人在 ...

  2. Python 蓝桥杯 动态规划 2道例题+配套1道历年真题

    距离蓝桥杯64天  快和小郑一起准备蓝桥杯吧 蓝桥杯真题题目链接:数字三角形 Leedcode青蛙跳台阶         Leedcode不同路径 特此鸣谢这位作者的点播,小郑从中获益不少文章来源ht ...

  3. P1002 过河卒(dp动态规划,洛谷,java)

    洛谷链接:https://www.luogu.com.cn/problem/P1002 import java.util.Scanner;public class Main { public stat ...

  4. 第十一届蓝桥杯大赛(2020年)软件类省赛第二场 Python大学组 真题+个人解答

    试题A:门牌制作 本题总分:5分 [问题描述] 小蓝要为一条街的住户制作门牌号. 这条街一共有2020位住户,门牌号从1到2020编号. 小蓝制作门牌的方法是先制作0到9这几个数字字符,最后根据需要将 ...

  5. Java 01背包【动态规划·蓝桥杯练习题】(相信杨超越,相信锦鲤,默默努力,其它的看天意)

    锦鲤镇楼 1.题目描述: 时间限制:1.0s 内存限制:256.0MB 关键字:01背包 动态规划 问题描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高 ...

  6. java迷宫类编程题_第十届蓝桥杯省赛java类B组 试题 E:迷宫 (动态规划之回溯法)...

    问题描述 试题 E: 迷宫 [问题描述] 下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可 以通行的地方. 010000 000100 001001 110000 迷宫的入口为 ...

  7. Java算法学习:蓝桥杯——地宫寻宝(DFS+动态规划—记忆型递归)

    Java算法学习:蓝桥杯--地宫寻宝(DFS✖记忆型递归) 题目: 标题:地宫取宝X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签.地宫的入口在左上角,出 ...

  8. P8775 [蓝桥杯 2022 省 A] 青蛙过河

    题目链接:[蓝桥杯 2022 省 A] 青蛙过河 - 洛谷 解法一:打暴力: 二分+模拟 很直接,不解释,肯定超时 代码: #include<iostream> #include<c ...

  9. 题解动态规划:蓝桥杯2022国赛B组 题解 A题目

    在这组题(蓝桥杯C/C++ B组 国赛)里面挑了几道喜欢的题目,做了一下,笔记思路如下.(其实是我觉得能做出的题 ) 题目图片来源于:CSDN 罚时大师月色 A:2022 [题目大意] 请问2022, ...

最新文章

  1. windows主机网络信息获取程序设计
  2. 常见性能优化小技巧原理
  3. xp如何快速锁定计算机,Window XP中快速锁定计算机两法
  4. 钉钉怎么设置考勤打卡规则
  5. mysql查询20-30的数据_20. mysql查询表的数据大小
  6. 机器学习(一):数据预处理
  7. 【noi 2.6_162】Post Office(DP)
  8. phpcms v9 开发笔记
  9. docker运行教程
  10. mysql 定时备份和远程备份脚本
  11. Qt获取音频输入和输出设备
  12. QT学习之基础Day1(自用)
  13. httpclient 3.1跳过https请求SSL的验证
  14. webflux之reactor-Subscriber
  15. 微信 php 地图定位,微信公众号定位地图位置写入数据库,再显示地图的方法
  16. 百练 2809 计算2的N次方
  17. 【智能硬件】Jetson nana 扩展显存(内存)
  18. FOC控制笔记 -基本术语概念
  19. 蓝桥杯水题 单词分析【第十一届】【省赛】【C组】C/C++
  20. 4K Video Downloader (4K视频下载器)V3.0.40

热门文章

  1. Listio官网教程
  2. 43.【Java 实现验证码获取 C++实现密码加密和删除和QQ登入系统】
  3. offiece邮箱服务器,急!!OFFICE 365邮箱服务器IP地址问题?
  4. C语言:sizeof()和countof()
  5. Log4j2远程执行代码漏洞如何攻击? 又如何修复
  6. 多线程编程:两个人A、B同时对一个账户取钱(A从ATM取,B从柜台取)
  7. dtu无线 服务器端,4G DTU将数据无线方式上传上位机软件。服务器PC端扩展功能
  8. 普中单片机--串口通信(2)---通过串口助手发送数据点LED
  9. grant 1.0 mysql 权限系统工作原理
  10. 3dmath 直线与圆锥的交点(无底面的圆锥)