博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
wikioi 1010 过河卒
阅读量:5022 次
发布时间:2019-06-12

本文共 1706 字,大约阅读时间需要 5 分钟。

题目描述 
Description

 如图,A 点有一个过河卒,需要走到目标 B 点。卒行走规则:可以向下、或者向右。同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点。例如上图 C 点上的马可以控制 9 个点(图中的P1,P2 … P8 和 C)。卒不能通过对方马的控制点。

  棋盘用坐标表示,A 点(0,0)、B 点(n,m)(n,m 为不超过 20 的整数,并由键盘输入),同样马的位置坐标是需要给出的(约定: C不等于A,同时C不等于B)。现在要求你计算出卒从 A 点能够到达 B 点的路径的条数。

1<=n,m<=15

输入描述 
Input Description

 键盘输入

   B点的坐标(n,m)以及对方马的坐标(X,Y){不用判错}

输出描述 
Output Description

  屏幕输出

    一个整数(路径的条数)。

样例输入 
Sample Input

 6 6 3 2

样例输出 
Sample Output

17

数据范围及提示 
Data Size & Hint

如描述

这个看起来很熟悉把,就是多了几个不能走的位置,输入中已经给出马的位置,可以通过这个计算9个不能达到的位置,在计算路径数的时候,若遇到这些位置,就直接把数置0,

/*作者:t_rex题目:p1010 过河卒*/#include 
using namespace std;int a[21][21] = {0};void soldier(){ int i, j, m, n, x, y; cin >> n >> m >> x >> y; if(true){ a[x][y] = -1; if(x - 1 >= 0 && y - 2 >= 0) a[x-1][y-2] = -1; if(x - 2 >= 0 && y - 1 >= 0) a[x-2][y-1] = -1; if(x - 2 >= 0 && y + 1 <= m-1) a[x-2][y+1] = -1; if(x - 1 >= 0 && y + 2 <= m-1) a[x-1][y+2] = -1; if(x + 1 <= n && y + 2 <= m) a[x+1][y+2] = -1; if(x + 2 <= n && y + 1 <= m) a[x+2][y+1] = -1; if(x + 2 <= n && y - 1 >= 0) a[x+2][y-1] = -1; if(x + 1 <= n && y - 2 >= 0) a[x+1][y-2] = -1; } for(i = 0; i <= n; i++){ for(j = 0; j <= m; j++){ if(a[i][j] == -1) continue; if(i == 0 && j == 0) {a[i][j] = 1;continue;} a[i][j] = 0; if(j-1 >= 0 && a[i][j-1] != -1) a[i][j] += a[i][j-1]; if(i-1 >= 0 && a[i-1][j] != -1) a[i][j] += a[i-1][j]; if(a[i][j] == 0) a[i][j] = -1; } } if(a[n][m] == -1) cout << 0; else cout << a[n][m];}int main(){ soldier(); return 0;}

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/Rex7/p/4752547.html

你可能感兴趣的文章
linux文件夹删除、创建
查看>>
抽象工厂模式
查看>>
django
查看>>
图形用户界面之我的信息
查看>>
linux安装FTP服务器
查看>>
更改HOSTS
查看>>
逆时针旋转的矩阵变换
查看>>
[Ynoi2012]D1T1
查看>>
Python数据类型
查看>>
Flask插件
查看>>
tensorflow 框架图
查看>>
【转】json格式化、高亮库jsonFormater
查看>>
Quick setup
查看>>
根据选择的关键字类型查询
查看>>
该文件没有程序与之关联来执行该操作。请在控制面板的文件夹选项中创建关联 解决代码...
查看>>
SQL注入式攻击
查看>>
error
查看>>
Electron 调用系统Office软件
查看>>
创建一个dynamics 365 CRM online plugin (四) - PreValidation
查看>>
java中dao层和service层的区别是什么
查看>>