棋盘型动态规划-codevs-1219骑士游历
来源:互联网 发布:朴正花网络剧 编辑:程序博客网 时间:2024/04/26 18:47
1219 骑士游历 1997年
时间限制: 1 s
空间限制: 128000 KB
题目等级 : 黄金 Gold
题解
题目描述 Description
设有一个n*m的棋盘(2≤n≤50,2≤m≤50),如下图,在棋盘上有一个中国象棋马。
规定:
1)马只能走日字
2)马只能向右跳
问给定起点x1,y1和终点x2,y2,求出马从x1,y1出发到x2,y2的合法路径条数。
输入描述 Input Description
第一行2个整数n和m
第二行4个整数x1,y1,x2,y2
输出描述 Output Description
输出方案数
样例输入 Sample Input
30 30
1 15 3 15
样例输出 Sample Output
2
数据范围及提示 Data Size & Hint
2<=n,m<=50
//// main.cpp// 1219 骑士游历//// Created by 袁子涵 on 15/6/18.// Copyright (c) 2015年 袁子涵. All rights reserved.//#include <iostream>#include <string.h>using namespace std;int n,m;unsigned long long int s[51][51];int book[51][51];struct place{ int x; int y;}hourse,final;unsigned long long int dp(int x,int y){ if (x==hourse.x && y==hourse.y) { return 1; } if(x<hourse.x || y<1 || x>final.x || y>m) return 0; if (book[x][y]) { return s[x][y]; } s[x][y]=dp(x-1,y-2)+dp(x-1,y+2)+dp(x-2,y-1)+dp(x-2,y+1); book[x][y]=1; return s[x][y];}int main(int argc, const char * argv[]) { cin>>n>>m; cin>>hourse.x>>hourse.y>>final.x>>final.y; memset(s, 0, sizeof(s)); memset(book, 0, sizeof(book)); dp(final.x, final.y); cout<<s[final.x][final.y]<<endl; return 0;}
0 0
- 棋盘型动态规划-codevs-1219骑士游历
- CODEVS 1219骑士游历
- CODEVS 1219 骑士游历
- 【动态规划】CODE[VS] 1219 骑士游历 【Noip1997】
- codevs 1219 骑士游历 DP 解题报告
- code(vs)1219 骑士游历 (棋盘dp)
- noip1997 骑士游历 (动态规划+搜索)
- 【codevs】p1219 骑士游历
- codevs天梯 骑士游历
- codevs1219 骑士游历 棋盘型DP
- CodeVS1219 骑士游历 解题报告【棋盘型DP】
- wikioi 1219 骑士游历
- 维基 1219 骑士游历
- 1219 骑士游历 解答
- 棋盘型动态规划-codevs-1169传纸条
- ACM 1219 骑士游历(dp)
- CODE[VS] 1219 骑士游历
- CODE[VS] 1219 骑士游历
- highcharts 使用
- WCF广州本田整车销售系统技术解析(六) 三个下拉框之间的级联关系实现
- 23种设计模式之工厂方法模式
- 继承和多态,主要为虚函数,虚函数是多态的一种
- OC-----属性及点语法
- 棋盘型动态规划-codevs-1219骑士游历
- Oracle UPDATE 语句
- 函数对象
- MATLAB中如何直接曲线拟合,而不使用cftool的GUI界面
- mysql重连的问题
- javascript中的继承特性
- Universal Image Loader for Android一些方法的参数
- 数据结构与算法分析 L6
- 跳出for循环