过河卒-蓝桥杯-动态规划
题目描述
如图,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])
过河卒-蓝桥杯-动态规划相关推荐
- 蓝桥杯动态规划基础篇(一)
一.什么是动态规划?有套路吗? 动态规划(Dynamic Programming,DP)是运筹学的一个分支,是求解决策过程最优化的过程.20世纪50年代初,美国数学家贝尔曼(R.Bellman)等人在 ...
- Python 蓝桥杯 动态规划 2道例题+配套1道历年真题
距离蓝桥杯64天 快和小郑一起准备蓝桥杯吧 蓝桥杯真题题目链接:数字三角形 Leedcode青蛙跳台阶 Leedcode不同路径 特此鸣谢这位作者的点播,小郑从中获益不少文章来源ht ...
- P1002 过河卒(dp动态规划,洛谷,java)
洛谷链接:https://www.luogu.com.cn/problem/P1002 import java.util.Scanner;public class Main { public stat ...
- 第十一届蓝桥杯大赛(2020年)软件类省赛第二场 Python大学组 真题+个人解答
试题A:门牌制作 本题总分:5分 [问题描述] 小蓝要为一条街的住户制作门牌号. 这条街一共有2020位住户,门牌号从1到2020编号. 小蓝制作门牌的方法是先制作0到9这几个数字字符,最后根据需要将 ...
- Java 01背包【动态规划·蓝桥杯练习题】(相信杨超越,相信锦鲤,默默努力,其它的看天意)
锦鲤镇楼 1.题目描述: 时间限制:1.0s 内存限制:256.0MB 关键字:01背包 动态规划 问题描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高 ...
- java迷宫类编程题_第十届蓝桥杯省赛java类B组 试题 E:迷宫 (动态规划之回溯法)...
问题描述 试题 E: 迷宫 [问题描述] 下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可 以通行的地方. 010000 000100 001001 110000 迷宫的入口为 ...
- Java算法学习:蓝桥杯——地宫寻宝(DFS+动态规划—记忆型递归)
Java算法学习:蓝桥杯--地宫寻宝(DFS✖记忆型递归) 题目: 标题:地宫取宝X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签.地宫的入口在左上角,出 ...
- P8775 [蓝桥杯 2022 省 A] 青蛙过河
题目链接:[蓝桥杯 2022 省 A] 青蛙过河 - 洛谷 解法一:打暴力: 二分+模拟 很直接,不解释,肯定超时 代码: #include<iostream> #include<c ...
- 题解动态规划:蓝桥杯2022国赛B组 题解 A题目
在这组题(蓝桥杯C/C++ B组 国赛)里面挑了几道喜欢的题目,做了一下,笔记思路如下.(其实是我觉得能做出的题 ) 题目图片来源于:CSDN 罚时大师月色 A:2022 [题目大意] 请问2022, ...
最新文章
- windows主机网络信息获取程序设计
- 常见性能优化小技巧原理
- xp如何快速锁定计算机,Window XP中快速锁定计算机两法
- 钉钉怎么设置考勤打卡规则
- mysql查询20-30的数据_20. mysql查询表的数据大小
- 机器学习(一):数据预处理
- 【noi 2.6_162】Post Office(DP)
- phpcms v9 开发笔记
- docker运行教程
- mysql 定时备份和远程备份脚本
- Qt获取音频输入和输出设备
- QT学习之基础Day1(自用)
- httpclient 3.1跳过https请求SSL的验证
- webflux之reactor-Subscriber
- 微信 php 地图定位,微信公众号定位地图位置写入数据库,再显示地图的方法
- 百练 2809 计算2的N次方
- 【智能硬件】Jetson nana 扩展显存(内存)
- FOC控制笔记 -基本术语概念
- 蓝桥杯水题 单词分析【第十一届】【省赛】【C组】C/C++
- 4K Video Downloader (4K视频下载器)V3.0.40
热门文章
- Listio官网教程
- 43.【Java 实现验证码获取 C++实现密码加密和删除和QQ登入系统】
- offiece邮箱服务器,急!!OFFICE 365邮箱服务器IP地址问题?
- C语言:sizeof()和countof()
- Log4j2远程执行代码漏洞如何攻击? 又如何修复
- 多线程编程:两个人A、B同时对一个账户取钱(A从ATM取,B从柜台取)
- dtu无线 服务器端,4G DTU将数据无线方式上传上位机软件。服务器PC端扩展功能
- 普中单片机--串口通信(2)---通过串口助手发送数据点LED
- grant 1.0 mysql 权限系统工作原理
- 3dmath 直线与圆锥的交点(无底面的圆锥)