Codevs 1010 过河卒 2002年NOIP全国联赛普及组
1010 过河卒 2002年NOIP全国联赛普及组
时间限制: 1 s
空间限制: 128000 KB
题目等级 : 黄金 Gold
传送门
题目描述 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
如描述
/*
考虑三种方式的转移.
(1)i&&j g[i][j]=g[i-1][j]+g[i][j-1].
(2)!j 因左边没路 所以转移g[i-1][j].
(3)!i 同理转移g[i][j-1].
以后要更多地去考虑转移状态的可行性.
*/
#include<iostream>
#include<cstdio>
#define MAXN 20
using namespace std;
int m,n,g[MAXN][MAXN],x,y;
int main()
{
cin>>n>>m>>x>>y;
for(int i=0;i<=n;i++) for(int j=0;j<=m;j++) g[i][j]=1;
g[x-1][y-2]=0;
g[x-2][y-1]=0;
g[x-1][y+2]=0;
g[x-2][y+1]=0;
g[x+1][y-2]=0;
g[x+1][y+2]=0;
g[x+2][y+1]=0;
g[x+2][y-1]=0;
g[x][y]=0;
for(int i=0;i<=n;i++)
for(int j=0;j<=m;j++)
{ if(g[i][j])
{ if(!i&&!j) continue;
if(i>0&&j>0)
g[i][j]=g[i-1][j]+g[i][j-1];
else if(i>0) g[i][j]=g[i-1][j];
else g[i][j]=g[i][j-1];
}
}
cout<<g[n][m];
return 0;
}
转载于:https://www.cnblogs.com/nancheng58/p/6070840.html
Codevs 1010 过河卒 2002年NOIP全国联赛普及组相关推荐
- 1009 产生数 2002年NOIP全国联赛普及组
009 产生数 2002年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 给出一个整数 n(n<10^ ...
- 【2002年NOIP全国联赛普及组】过河卒
描述 棋盘上 A 点有一个过河卒,需要走到目标 B 点.卒行走的规则:可以向下.或者向右.同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点.因此称之为" ...
- 选数 2002年NOIP全国联赛普及组
题目描述 Description 已知 n 个整数 x1,x2,-,xn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n=4,k=3,4 个整 ...
- 1099 字串变换 2002年NOIP全国联赛提高组
1099 字串变换 2002年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 已知有两个字串 A ...
- 【codevs 1315】1315 摆花2012年NOIP全国联赛普及组(dp)
1315 摆花2012年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 小明的花店新开张,为 ...
- 1313 质因数分解 2012年NOIP全国联赛普及组
1313 质因数分解 2012年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题目描述 Description 已知正整数 n是两个不同 ...
- [2000年NOIP全国联赛普及组] 1019 单词接龙
[2000年NOIP全国联赛普及组] 1019: 单词接龙 题目链接:http://129.211.20.246/problem.php?id=1019 题目描述 单词接龙是一个与我们经常玩的成语接龙 ...
- 1316 文化之旅 2012年NOIP全国联赛普及组
1316 文化之旅 2012年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 有一位使者要游历各国,他每到一 ...
- codevs 1145 Hanoi双塔问题 2007年NOIP全国联赛普及组
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 给定A.B.C三根足够长的细柱,在A柱上放有2n个中间有孔的圆盘,共有n个不同的 ...
最新文章
- python 折线图_Python 编程一次画三种图:柱状图、散点图、折线图
- NIO与零拷贝和AIO
- docker anaconda_深度学习炼丹炉配置[1] Docker+sshfs环境配置
- 设计模式:观察者(Observer)模式
- 修改系统提供视图类的显示字体
- linux启动找不到,pxe启动的时候找不到pxelinux.0的原因
- 《MonkeyRunner原理剖析》第九章-MonkeyImage实现原理 - 第七节 - 文件图片及子图处理类BufferedImageChimpImage...
- 算法---贪心算法典型案例
- 记一次代码被公司电脑加密后,编译不通过
- Hbase数据库介绍
- 如何增加你的被动收入
- 常用dns114.114.114.114与8.8.8.8的区别
- 云豹php短视频源码实现身份证验证的方法
- 退出mysql控制台与退出mysql
- 【超详细】Linux内核树的构建
- Tushare了解并使用
- 前端使用setInterval定时器,使用clearInterval()清除时,清楚不彻底的原因。
- 蓝桥杯单片机比赛学习:11、频率测量的基本原理
- Jquery项目中使用vue.js和element-ui
- iOS从健康app中获取步数信息
热门文章
- JavaScript上传图片及时预览
- Cocos2dx利用intersectsRect函数检测碰撞
- 每日英语:Vender Assault Shines Ugly Light on China's Urban Enforcers
- JavaScript 解决浮点值运算Bug
- c语言解决一元二次方程,一元二次方程求解程序完整代码
- python selenium p_python selenium 常见问题列表
- write up杂项:眼见非实(ISCCCTF)
- mysql安装报错 1130_关于Linux编译安装会无法远程登录,报错:1130-host ... is not allowed to connect to this MySql server...
- DTCC 2020 | 阿里云吉剑南:在线分析进入Fast Data时代的关键技术解读
- Seata 1.4.0 重磅发布