【qduoj - 夏季学期创新题】骑士游历(递推dp)
题干:
描述
输入
输入包含多组数据,第一行T表示数据组数接下来每行六个整数n,m,x1,y1,x2,y2(分别表示n,m,起点坐标,终点坐标)
输出
输出T行,表示起点到终点的路径数
输入样例 1
1
30 30 1 15 3 15
输出样例 1
2
解题报告:
这题刚开始想用dfs来写,结果发现数字一大,连结果都跑不出来,再看题、、马只能向右走。,于是就可以dp了啊。
AC代码:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n,m,sx,sy,ex,ey,num;
bool vis[55][55];
ll maze[55][55];
//只能往下走
//void dfs(int x,int y) {
// if(x == ex && y == ey) {
// num++;return ;
// }
// if(x < 1 || x > n ||y < 1 || y > m) return ;
// if(x >= ex) return ;if(!vis[x-1][y-2]) {vis[x-1][y-2]=1;dfs(x-1,y-2);vis[x-1][y-2]=0;}if(!vis[x-2][y-1]) {vis[x-2][y-1]=1;dfs(x-2,y-1);vis[x-2][y-1]=0;}if(!vis[x-2][y+1]) {vis[x-2][y+1]=1;dfs(x-2,y+1);vis[x-2][y+1]=0;}if(!vis[x-1][y+2]) {vis[x-1][y+2]=1;dfs(x-1,y+2);vis[x-1][y+2]=0;}
// if(!vis[x+1][y+2]) {
// vis[x+1][y+2]=1;dfs(x+1,y+2);vis[x+1][y+2]=0;
// }
// if(!vis[x+2][y+1]) {
// vis[x+2][y+1]=1;dfs(x+2,y+1);vis[x+2][y+1]=0;
// }
// if(!vis[x+2][y-1]) {
// vis[x+2][y-1]=1;dfs(x+2,y-1);vis[x+2][y-1]=0;
// }
// if(!vis[x+1][y-2]) {
// vis[x+1][y-2]=1;dfs(x+1,y-2);vis[x+1][y-2]=0;
// }
//}int main()
{ll t;cin>>t;while(t--) {scanf("%d%d%d%d%d%d",&n,&m,&sx,&sy,&ex,&ey);
// memset(vis,0,sizeof vis);memset(maze,0,sizeof maze);
// num = 0;
// vis[sx][sy]=1;maze[sx][sy]=1;for(int i = sx+1; i<=ex; i++) {for(int j = 1; j<=n; j++) {maze[i][j] = maze[i-1][j-2]+maze[i-1][j+2]+maze[i-2][j-1]+maze[i-2][j+1];}}
// dfs(sx,sy);printf("%lld\n",maze[ex][ey]);}return 0 ;
}
【qduoj - 夏季学期创新题】骑士游历(递推dp)相关推荐
- 【qduoj - 夏季学期创新题】C语言课程设计-阶梯问题(dp,高精度大数)
题干: 描述 N级阶梯,人可以一步走一级,也可以一步走两级,求人从阶梯底端走到顶端可以有多少种不同的走法. 输入 一个整数n,代表台阶的阶数. 输出 求人从阶梯底端走到顶端可以有多少种不同的走法,输出 ...
- 【qduoj - 夏季学期创新题】矩形剖分(递归,dp)
题干: 描述 对一个给定的矩形,将其划分成尽可能少的正方形,输出正方形的最少个数.例如,如下图所示的情况,则输入为3和4,输出为4. 输入 输入两个整数中间用空格分开. 输出 输出最少分割成的正方形的 ...
- 【qduoj - 夏季学期创新题】最长公共子串(水题暴力枚举,不是LCS啊)
题干: 描述 编写一个程序,求两个字符串的最长公共子串.输出两个字符串的长度,输出他们的最长公共子串及子串长度.如果有多个最长公共子串请输出在第一个字符串中先出现的那一个. 特别注意公共子串中可能包含 ...
- 2019 ICPC Asia Nanjing Regional C.Digital Path(拓扑排序递推DP)
整理的算法模板合集: ACM模板 题目传送门 三段题面,只有第三段是有用的-前两段又长单词又难懂,就是在讲故事...不过针对四种情况给出四个图帮助我们理解题意是真的赞,可能出题人怕我们看不懂吧(第一句 ...
- 解题报告:luogu P2272 [ZJOI2007]最大半连通子图(tarjan缩点、递推DP、hash、set判重)
这时yxc上课时讲解的截图. 一般用到tarjan算法的题目步骤都非常相似: tarjan算法 缩点,建图(这里要判重) 按照拓扑序递推(这里缩点以后逆向就已经是拓扑序了)/ 循环遍历新图求解答案. ...
- hdu1978(递推dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1978 分析: 递推DP. dp[][]表示可以到达改点的方法数. 刚开始: 外循环扫描所有点dp[x] ...
- 递推DP URAL 1119 Metro
题目传送门 1 /* 2 题意:已知起点(1,1),终点(n,m):从一个点水平或垂直走到相邻的点距离+1,还有k个抄近道的对角线+sqrt (2.0): 3 递推DP:仿照JayYe,处理的很巧妙, ...
- HDU 5863 cjj's string game ( 16年多校10 G 题、矩阵快速幂优化线性递推DP )
题目链接 题意 : 有种不同的字符,每种字符有无限个,要求用这k种字符构造两个长度为n的字符串a和b,使得a串和b串的最长公共部分长度恰为m,问方案数 分析 : 直觉是DP 不过当时看到 n 很大.但 ...
- 递推DP HDOJ 5459 Jesus Is Here
题目传送门 题意:简单来说就是sn = sn-1 + sn-2递推而来,求其中所有c字符的:∑i<j:sn[i..i+2]=sn[j..j+2]=''cff"(j−i) mod 530 ...
最新文章
- SQLI DUMB SERIES-5
- 这几天研究了一下JDK14,发现它处理NPE的方式,真香!
- 国庆七天乐 Day5
- 7000p壁纸怎么换_这些圣诞壁纸,劝你们马上点开,保存!真的超好看
- 10行代码AC——L1-018 大笨钟 (10分)(~解题报告~)
- centos rpm mysql 5.6_centos6.5 mysql5.6 RPM安装
- 【WPF】获取电磁笔的压感
- 即将改变软件开发的5个Java9新特性
- https抓包_浅谈HTTPS抓包原理,为什么Charles能够抓取HTTPS报文?
- Spring AOP源码分析(四)Spring AOP的JDK动态代理
- 利用GSM模块通过GPRS在GMSK调制方式下与IP网通信
- 阶段3 3.SpringMVC·_06.异常处理及拦截器_7 SpringMVC拦截器之拦截器接口方法演示
- DenseNet算法详解
- 使用Python合并excel表格的两列
- 北京科技大学计算机考研考试科目,2020考研北京科技大学计算机考研考试科目...
- vue - 禁止input[number]输入 +、-、e 符号,并且只能输入两位小数
- win7如何设置wifi热点_mac如何共享网络?mac怎么建立wifi热点?
- URL编码解码工具类
- 【转发重要论文】顶中区N200: 一个中文视觉词汇识别特有的脑电反应
- 过滤器、拦截器、AOP、ControllerAdvcie的使用对比、执行顺序及代码教程
热门文章
- 量子计算机具有天热的,量子绝热计算
- java内存溢出让tomcat停止_java - 使用JVM Open J9一段时间后,应用程序(tomcat)停止响应 - 堆栈内存溢出...
- stunnel使用详解
- windows网关详解 【了解网关的重要性,增加网络性能】【FreeXploiT综合文】
- linux 内核3.8,[Beaglebone] BBB迁移到linux 3.8实时内核
- hadoop 计算几点 主节点_01-Hadoop的介绍
- a pycharm 标记多个_每周分享五个 PyCharm 使用技巧(二)
- ffmpeg php linux,linux(php环境) 安装ffmpeg
- x86服务器当虚拟化的存储,龙存科技-软件定义数据中心产品提供商
- mysql主从进行扩展_Mysql主从知识扩展部分1