经典动态规划之过河卒【洛谷 P1002】
传送门
因为小兵只能往右走和往下走
所以动态转移方程为map[i][j]=map[i-1][j]+map[i][j-1]
感觉上。。是很经典的。
题目描述
棋盘上AAA点有一个过河卒,需要走到目标BBB点。卒行走的规则:可以向下、或者向右。同时在棋盘上CCC点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。
棋盘用坐标表示,AAA点(0,0)(0, 0)(0,0)、BBB点(n,m)(n, m)(n,m)(nnn, mmm为不超过202020的整数),同样马的位置坐标是需要给出的。
现在要求你计算出卒从AAA点能够到达BBB点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。
输入输出格式
输入格式:
一行四个数据,分别表示BBB点坐标和马的坐标。
输出格式:
一个数据,表示所有的路径条数。
输入输出样例
6 6 3 3
6
说明
结果可能很大!
AC源码:
#include<iostream> #include<cstdio> #include<cstring> int mx[9]={0,1,1,-1,-1,2,2,-2,-2},my[9]={0,2,-2,2,-2,1,-1,1,-1}; long long map[21][21]={0}; using namespace std; int main() {int m,n,x,y;scanf("%d%d%d%d",&m,&n,&x,&y);map[0][0]=1;for(register int i=0;i<=n;i++)for(register int j=0;j<=m;j++){if(j)map[i][j]+=map[i][j-1];if(i)map[i][j]+=map[i-1][j];for(register int f=0;f<9;f++)if(j==x+mx[f]&&i==y+my[f]){map[i][j]=0;break;}}printf("%lld\n",map[n][m]); }
转载于:https://www.cnblogs.com/JCRL/p/9922458.html
经典动态规划之过河卒【洛谷 P1002】相关推荐
- 信息学奥赛一本通 1314:【例3.6】过河卒(Noip2002) | 1921:【02NOIP普及组】过河卒 | 洛谷 P1002 [NOIP2002 普及组] 过河卒
[题目链接] ybt 1314:[例3.6]过河卒(Noip2002) ybt 1921:[02NOIP普及组]过河卒 洛谷 P1002 [NOIP2002 普及组] 过河卒 [题目考点] 1. 坐标 ...
- Java 洛谷 P1002 过河卒讲解
题目描述 棋盘上AA点有一个过河卒,需要走到目标BB点.卒行走的规则:可以向下.或者向右.同时在棋盘上CC点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点.因此称之为" ...
- 洛谷——P1002 过河卒||codevs——T1010 过河卒
https://www.luogu.org/problem/show?pid=1002#sub||http://codevs.cn/problem/1010/ 题目描述 棋盘上A点有一个过河卒,需要走 ...
- 洛谷 P1002 过河卒
[NOIP2002 普及组] 过河卒 题目描述 棋盘上 A 点有一个过河卒,需要走到目标 B 点.卒行走的规则:可以向下.或者向右.同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的 ...
- 动态规划——最大子段和(洛谷 P1115)
题目选择洛谷P1115 经典的动态规划基础题目,最大连续子序列和 状态转移方程为: dp[i] = max{A[i],dp[i-1]+A[i]} 题目描述 给出一个长度为 n 的序列 a,选出其中连续 ...
- 动态规划——小A点菜(洛谷 P1164)
题目选自洛谷P1164 这是一道简单的动规题,定义f[i][j]为用前i道菜用光j元钱的办法总数,其状态转移方程如下: (1)if(j==第i道菜的价格)f[i][j]=f[i-1][j]+1; (2 ...
- 1002-过河卒-洛谷-luogu-动态规划dp
题目描述 棋盘上AA点有一个过河卒,需要走到目标BB点.卒行走的规则:可以向下.或者向右.同时在棋盘上CC点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点.因此称之为" ...
- 过河卒(洛谷P1002题解,Java语言描述)
题目要求 P1002题目链接 分析 这个题分类是DP,动态规划~~ 用搜索解的话会超时-- 具体的规律见下文-- 思路讲解的话可以说递推啊,动归啊,但其实我这种弱鸡就不是很能入目三分的理解了诶-- 另 ...
- 洛谷P1002过河卒
https://www.luogu.com.cn/problem/P1002 代码: #include<iostream> #include<stack> #include&l ...
最新文章
- 13.13通过代码创建数据库和表
- java访问器_Java中的访问器方法
- maven+jetty项目在tomcat部署
- 【qduoj - 夏季学期创新题】矩形剖分(递归,dp)
- 第 6 节:前端面试指南 — React 篇(附面试题答案)
- html更改弹窗样式(原创,转载需声明)
- clean-css 安装 使用
- 机器学习 | 算法笔记- 决策树(Decision Tree)
- mysql增删改处理
- Sun java认证考试真题答案及部分解析(一)
- 前端小白的挖坑填坑之路。
- Mac中彻底删除搜狗拼音输入法一法
- 面对互联网寒冬裁员潮,HR都在干什么?
- JMeter之性能监控插件PerfMon Metrics Collector
- win10系统盘多大合适_不会安装win10原版系统?3招教你轻松学会重装系统,超详细教程...
- Element ui 组件中用键盘事件
- 牛顿迭代法计算平方根
- ContentProvider android:exported=true
- 不会编程也能爬数据!3个爬虫小工具教你实现~
- mybatisplus--getOne和逻辑删除问题详解
热门文章
- 全国通用计算机一级考试模板,共享WPS中符合国人习惯的好模板
- 算法导论中C语言代码,算法导论-学习笔记与进度
- 获取mysql可行方法_Mysql学习Java实现获得MySQL数据库中所有表的记录总数可行方法...
- Android应用开发:网络编程-2
- linux系统查看CPU使用含义、IO、内存、硬盘使用、负载
- response.setcharacterencoding 报错是缺哪个包_出街,你缺的是这一款包包...
- kafka java 查询信息_Kafka查看topic、consumer group状态命令
- 浏览器支持java_为什么我下载了java并提示浏览器不支持j
- Linux下脚本实战之系统监控
- 10没有基于策略的qos_基于强化学习的用户移动场景下空中基站3D位置高效部署...