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

分类标签 Tags 点此展开

 
 
 
 
代码
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
][];
int n,m,x1,x2,y1,y2;
int main()
{
    scanf("%d%d",&n,&m);
    scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
    f[x1][y1]=;//显然,当前所在点的途径只有1
    for(int i=x1;i<=n;i++)//从当前所在点开始
     ;j<=m;j++)
       {
            >&&j->)  f[i][j]+=f[i-][j-];
            >&&j+<=m) f[i][j]+=f[i-][j+];
            >&&j->)  f[i][j]+=f[i-][j-];
            >&&j+<=m) f[i][j]+=f[i-][j+];
       }
    cout<<f[x2][y2];
    ;
}

注意:在赋初值的时候一定要注意赋哪个!!

思路:还记得过河卒吗?

这个题和那个题的思路是一样的!

由于马只能走日而且只能从左边来,所以要判断4种情况,他从(-2,1)(-2,-1)(-1,2)(-1,-2)这4个地方来,

但还要判断他是否出界!!!

所以该点的方案数就是这4个点的方案数的和!

 

最新文章

  1. web学习之开发环境的搭建
  2. CoIDE在STM32系列单片机中的使用实践
  3. 查linux端口连接情况用命令netstat
  4. COleDateTime类型的应用
  5. iis6.0+.net 4.0 +mvc 404错误
  6. C++ Primer : 第十二章 : 动态内存之unique_ptr和weak_ptr
  7. bzoj 2555 SubString(SAM+LCT)
  8. jquery中onclick=&quot;fn&quot;中$(this)所代表的对象
  9. html自定义checkbox、radio、select —— checkbox、radio篇
  10. 高效的SQLSERVER分页查询(推荐)
  11. easyUI linkbutton组件
  12. 文本主题模型之LDA(一) LDA基础
  13. canvas入门之时钟的实现
  14. Python学习九:列表生成式
  15. 任意N个不同数的逆序对平均值
  16. C++: find()函数的注意事项
  17. 使用 Markdown 写技术博客,踩过的 6个坑
  18. Java之旅_高级教程_多线程编程
  19. xtrabackup全库还原+binlog日志还原
  20. SEO 图片用IMG插入好还是用Background定义好?

热门文章

  1. js:随记
  2. Go语言之反射(二)
  3. RDD算子、RDD依赖关系
  4. WTForm
  5. http协议学习笔记——状态码
  6. Python+selenium(警告框处理)
  7. python 学习分享-面向对象2
  8. day02_01.能被3整除的数
  9. Python 拓展之推导式
  10. 使用anaconda