49. 跳马问题

★   输入文件:horse.in   输出文件:horse.out   简单对比
时间限制:1 s   内存限制:128 MB

【问题描述】

有一只中国象棋中的 “ 马 ” ,在半张棋盘的左上角出发,向右下角跳去。规定只许向右跳(可上,可下, 但不允许向左跳)。请编程求从起点 A(1,1) 到终点 B(m,n) 共有多少种不同跳法。

 
 【输入格式】
 
    输入文件只有一行,两个整数m和n(1≤m,n≤20),两个数之间有一个空格。
 【输出格式】
 
    输出文件只有一个整数,即从 A 到 B 全部的走法。
 
 【输入输出样例】
 
   输入文件(horse.in)
   5 9
 
  输出文件(horse.out)
   37  
自动选择评测机
 
gcc/g++4.8.5
gcc/g++4.8.5 -O2
gcc/g++4.8.5(C++11)
gcc/g++4.6.3
gcc/g++4.6.3 -O2
        
提交代码 Pascal C C++
天哪 这可真是一道水水水水题啊
 
我就不用DFS来做了
用一下动态规划试试看!
其实看起来还是比较简单的
f[i][j] = f[i - 2][j - 1] + f[i - 2][j + 1] + f[i - 1][j - 2] + f[i - 1][j + 2];
然后i和j都从小往大枚举for循环
其实也就是从左往右 从上往下
至于正确性?不好证明。。
但是确实卡过了诶 QaQ 
左右上方四个点的和
 
说实话 这一道题 调起来确实挺费劲的
#include<bits/stdc++.h>
using namespace std;
int f[][];
int main()
{
freopen("horse.in","r",stdin);
freopen("horse.out","w",stdout);
int n,m;
scanf("%d%d",&n,&m);
f[][]=;
for(int i=;i<=m;i++)
for(int j=;j<=n;j++)
f[i][j]=f[i-][j-]+f[i-][j+]+f[i-][j-]+f[i-][j+];
printf("%d",f[m][n]); return ;
}
 
 
 

cogs 49. 跳马问题 DFS dp的更多相关文章

  1. cogs——49. 跳马问题

    49. 跳马问题 水题 dfs裸基础 #include<cstdio> using namespace std; ]={,,,,}, ans,my[]={,-,,-,}; inline v ...

  2. cogs 49. 跳马问题

    49. 跳马问题 ★   输入文件:horse.in   输出文件:horse.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] 有一只中国象棋中的 “ 马 ” ,在半张 ...

  3. dfs+dp思想的结合------hdu1078

    首先是题目的意思: 从一个正方形的0,0点开始走,只能横着走,竖着走,最多走k步,下一个点的数一定要比当前这个点的值大,每走一步,就加上下一个点的数据,问数据最大能有多少. 首先遇到这种题目,走来走去 ...

  4. HDU1978How Many Ways 记忆化dfs+dp

    /*记忆化dfs+dp dp[i][j]代表达到这个点的所有路的条数,那么所有到达终点的路的总数就是这dp[1][1]加上所有他所能到达的点的 所有路的总数 */ #include<stdio. ...

  5. 记忆化搜索(DFS+DP) URAL 1223 Chernobyl’ Eagle on a Roof

    题目传送门 /* 记忆化搜索(DFS+DP):dp[x][y] 表示x个蛋,在y楼扔后所需要的实验次数 ans = min (ans, max (dp[x][y-i], dp[x-1][i-1]) + ...

  6. 记忆化搜索(DFS+DP) URAL 1501 Sense of Beauty

    题目传送门 /* 题意:给了两堆牌,每次从首部取出一张牌,按颜色分配到两个新堆,分配过程两新堆的总数差不大于1 记忆化搜索(DFS+DP):我们思考如果我们将连续的两个操作看成一个集体操作,那么这个操 ...

  7. 【cf1111】C. Creative Snap (dfs+dp)

    传送门 简单的dfs+dp即可解决.根本不用动态开点 /* * Author: heyuhhh * Created Time: 2019/11/13 10:12:42 */ #include < ...

  8. cogs 1199选课(树形dp 背包或多叉转二叉

    http://cogs.pro:8080/cogs/problem/problem.php?pid=vQyiJkkPP 题意:给m门课,每门课在上完其先修课后才能上,要你从中选n门课使得总学分尽可能大 ...

  9. HDU 1978 记忆化搜索(dfs+dp)

    Y - How many ways Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

随机推荐

  1. python模块之模块导入

    模块的导入 """ 模块的导入使用:模块导入一般都要放在代码的最上面 不同模块的导入顺序: 1 内置模块 2 扩展模块 3 自定义模块 """ ...

  2. SpringBoot整合Redis乱码原因及解决方案

    问题描述:springboot使用spring data redis存储数据时乱码 redis key/value 出现\xAC\xED\x00\x05t\x00\x05 问题分析: 查看RedisT ...

  3. UVA 11584 "Partitioning by Palindromes"(DP+Manacher)

    传送门 •题意 •思路一 定义 dp[i] 表示 0~i 的最少划分数: 首先,用马拉车算法求解出回文半径数组: 对于第 i 个字符 si,遍历 j (0 ≤ j < i),判断以 j 为回文中 ...

  4. flex布局简单兼容性写法

    /* 定义 */ .flex-def { display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit brow ...

  5. IE显示 “Promise”未定义,vue项目兼容ie的两种方案

    第一种方法: 直接在html中加入js链接: <script src = "https://cdn.polyfill.io/v2/polyfill.min.js">&l ...

  6. vue-learning:34 - component - 内置组件 - 缓存组件keep-alive

    vue内置缓存组件keep-alive <keep-alive>标签内包裹的组件切换时会缓存组件实例,而不是销毁它们.避免多次加载相应的组件,减少性能消耗.并且当组件在 <keep- ...

  7. 【18.69%】【codeforces 672C】Recycling Bottles

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  8. 2016湖南省赛 I Tree Intersection(线段树合并,树链剖分)

    2016湖南省赛 I Tree Intersection(线段树合并,树链剖分) 传送门:https://ac.nowcoder.com/acm/contest/1112/I 题意: 给你一个n个结点 ...

  9. Qt StyleSheet皮肤css源码(黑色,超详细) 乌合之众 good

    使用方式如下 //设置皮肤样式 static void SetStyle(const QString &styleName) { QFile file(QString(":/imag ...

  10. SpringBoot-Swagger整合zuul智能列表

    SpringBoot-Swagger整合zuul智能列表 简介 可能大家都有用过swagger,可以通过ui页面显示接口信息,快速和前端进行联调. 现在基本都是多模块微服务化,每个服务都有这样的ui页 ...