codevs 1219 骑士游历 1997年
设有一个n*m的棋盘(2≤n≤50,2≤m≤50),如下图,在棋盘上有一个中国象棋马。
规定:
1)马只能走日字
2)马只能向右跳
问给定起点x1,y1和终点x2,y2,求出马从x1,y1出发到x2,y2的合法路径条数。
第一行2个整数n和m
第二行4个整数x1,y1,x2,y2
输出方案数
30 30
1 15 3 15
2
2<=n,m<=50
棋盘dp
搞法一 记忆化搜索
#include <iostream> #include <cstdio> int n,m,x1,y1,x2,y2; long long dp[55][55];long long dfs(int x,int y) {if(x==x2&&y==y2) return 1;if(y>n||y<=0) return 0;if(x>x2) return 0;long long ans=0;if(dp[x][y]>0) return dp[x][y];ans+=dfs(x+1,y+2);ans+=dfs(x+2,y+1);ans+=dfs(x+2,y-1);ans+=dfs(x+1,y-2);dp[x][y]=ans;return ans; } int main() {scanf("%d%d%d%d%d%d",&n,&m,&x1,&y1,&x2,&y2);std::cout<<dfs(x1,y1);return 0; }
157ms
搞法二 dp
#include <cstdio> long long dp[55][55]; int n,m,x1,x2,y1,y2; int main() {scanf("%d%d%d%d%d%d",&n,&m,&x1,&y1,&x2,&y2);dp[y1][x1]=1;for(int x=x1;x<=x2;x++){for(int y=1;y<=n;y++){if(y-1>0) dp[y][x]+=dp[y-1][x-2];if(y-2>0) dp[y][x]+=dp[y-2][x-1];if(y-n<0) dp[y][x]+=dp[y+1][x-2];if(y-n+1<0) dp[y][x]+=dp[y+2][x-1];}}printf("%d",dp[y2][x2]);return 0; }
View Code
转载于:https://www.cnblogs.com/ruojisun/p/6740965.html
codevs 1219 骑士游历 1997年相关推荐
- Codevs 1219 骑士游历
1219 骑士游历 1997年 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 设有一个n*m的棋盘(2≤n≤50,2≤m≤50), ...
- CODE[VS] 1219 骑士游历
题目描述 Description 设有一个n*m的棋盘(2≤n≤50,2≤m≤50),如下图,在棋盘上有一个中国象棋马. 规定: 1)马只能走日字 2)马只能向右跳 问给定起点x1,y1和终点x2,y ...
- codevs——T1219 骑士游历
http://codevs.cn/problem/1219/ 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Descript ...
- 1219 骑士游历(棋盘DP)
1997年 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 设有一个n*m的棋盘(2≤n≤50,2≤m≤50),如下图 ...
- wikioi 1219 骑士游历
题目描述 Description 设有一个n*m的棋盘(2≤n≤50,2≤m≤50),如下图,在棋盘上有一个中国象棋马. 规定: 1)马只能走日字 2)马只能向右跳 问给定起点x1,y1和终点x2,y ...
- java编写类骑士游历_java课程设计骑士游历程序的开发
java课程设计骑士游历程序的开发 JAVA程序设计 课程设计报告 课 题: 骑士游历程序的开发 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间: 2013.06.10 评阅意见: ...
- DFS(二):骑士游历问题
在国际象棋的棋盘(8行×8列)上放置一个马,按照"马走日字"的规则,马要遍历棋盘,即到达棋盘上的每一格,并且每格只到达一次.例如,下图给出了骑士从坐标(1,5)出发,游历棋盘的一种 ...
- [codevs 1922] 骑士共存问题
[codevs 1922] 骑士共存问题 题解: 二分图最大独立集问题. 二分图的最大独立集: 选出一些点,让两两之间没有边相连. 二分图最大独立集问题一般转化为它的对偶问题--最小覆盖集,因为最大独 ...
- c语言骑士游历优化算法,骑士游历、骑士巡游(C语言)课程设计.doc
存档资料 成绩: 华东交通大学理工学院 课 程 设 计 报 告 书 所属课程名称 数据结构 题 目 骑士游历 分 院 专业班级 学 号 学生姓名 黄锦辉 指导教师 2012 年 6月 15 日 目 录 ...
最新文章
- bzoj 1189 紧急疏散 网络流
- SpringMvc-Httl-shiro的整合
- Deep learning:二十二(linear decoder练习)
- spss22.0统计分析从入门到精通_数据分析最全资料:SPSS/MATLAB/SQL/SAS/EXCEL经典教材+视频教程,快速入门!...
- TCP/IP分析(一) 协议概述
- iPhone girl幕后推手浮出 制造者为论坛站长
- SecureCRT右键粘贴的设置
- 代码实现抖音时钟罗盘
- 我看QQ与360之争
- 云服务器入门篇:搭建云服务器Java web环境(Ubuntu Server 16.04.1 LTS 64位)
- 昨夜今晨全球大公司动态
- position: sticky 属性
- NVME NSSR (Nvme Sub System Reset)
- idea项目相关错误与常用操作教程
- 【好书推荐】第一本无人驾驶技术书
- java-php-python-ssm校园疫情防控管理系统计算机毕业设计
- 2021年江苏高考成绩排名查询,2021年江苏高考一分一段表查询排名方法 成绩排名位次什么时候公布...
- 深度学习和机器学习之间的区别
- 基于深度学习的语义匹配
- NuttX 入门笔记1 STM32F4Discovery 移植
热门文章
- 牛客练习赛22 E 树状数组 + DFS + 拓展欧几里德定理
- blender 贴图导入与连接 学习日志
- 深度:保健产品市场正在经历深度震荡与变革转型,新时代环境下孕育哪些创新发展机会?
- Allocate exception for servlet LoginServletjava.lang.ClassNotFoundException:
- linux安装zookeeper集群保姆教程,包括集群启停脚本
- 字体大宝库:30款英文大写字体免费下载
- C# 微信支付教程系列之扫码支付
- 微信小程序中相机api_微信小程序API 相机·CameraContext实例
- 程序员的表白: 教你制作一个百分之99成功率的表白网站 (html+css+js)
- 包机制 java (来自秦疆老师的视频学习)