博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(动态规划)Worm -- hdu -- 2151
阅读量:5024 次
发布时间:2019-06-12

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

 

Worm

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 3403    Accepted Submission(s): 2194

Problem Description
自从见识了平安夜苹果的涨价后,Lele就在他家门口水平种了一排苹果树,共有N棵。
突然Lele发现在左起第P棵树上(从1开始计数)有一条毛毛虫。为了看到毛毛虫变蝴蝶的过程,Lele在苹果树旁观察了很久。虽然没有看到蝴蝶,但Lele发现了一个规律:每过1分钟,毛毛虫会随机从一棵树爬到相邻的一棵树上。
比如刚开始毛毛虫在第2棵树上,过1分钟后,毛毛虫可能会在第1棵树上或者第3棵树上。如果刚开始时毛毛虫在第1棵树上,过1分钟以后,毛毛虫一定会在第2棵树上。
现在告诉你苹果树的数目N,以及毛毛刚开始所在的位置P,请问,在M分钟后,毛毛虫到达第T棵树,一共有多少种行走方案数。
 

 

Input
本题目包含多组测试,请处理到文件结束(EOF)。
每组测试占一行,包括四个正整数N,P,M,T(含义见题目描述,0<N,P,M,T<100)
 

 

Output
对于每组数据,在一行里输出一共的方案数。
题目数据保证答案小于10^9
 

 

Sample Input
3 2 4 2
3 2 3 2
 

 

Sample Output
4
0
Hint
第一组测试中有以下四种走法:
2->1->2->1->2
2->1->2->3->2
2->3->2->1->2
2->3->2->3->2

 

 

#include
#include
#define max(a,b) (a>b?a:b)#define N 1100int dp[N][N];int main(){ int n, P, M, T; while(scanf("%d%d%d%d", &n, &P, &M, &T)!=EOF) { int i, j; memset(dp, 0, sizeof(dp)); dp[0][P] = 1; for(i=1; i<=M; i++) for(j=1; j<=n; j++) { dp[i][j] = dp[i-1][j-1] + dp[i-1][j+1]; } printf("%d\n", dp[M][T]); } return 0;}

 

转载于:https://www.cnblogs.com/YY56/p/4964992.html

你可能感兴趣的文章
7、shell函数
查看>>
【转】Apache Jmeter发送post请求
查看>>
Nginx 基本 安装..
查看>>
【凸优化】保留凸性的几个方式(交集、仿射变换、投影、线性分式变换)
查看>>
NYOJ-613//HDU-1176-免费馅饼,数字三角形的兄弟~~
查看>>
TFS --- GrantBackup Plan Permissions Error
查看>>
傅里叶级数与积分方程
查看>>
软工作业3:用户体验分析——以“南通大学教务管理系统微信公众号”为例
查看>>
Css:背景色透明,内容不透明之终极方法!兼容所有浏览器
查看>>
我们前端跟后端是怎么合作的
查看>>
mysql存储过程
查看>>
洛谷P2556 [AHOI2002] 黑白图像压缩 [模拟]
查看>>
letecode [136] - Single Number
查看>>
linux下设置固定IP的方法
查看>>
VMware虚拟机下Linux系统的全屏显示
查看>>
net core体系-web应用程序-4asp.net core2.0 项目实战(任务管理系统)-2项目搭建
查看>>
高效的jQuery
查看>>
ubuntu 16.04 (软件应用)-输入法
查看>>
windos7修复引导扇区
查看>>
Leetcode总结之Backtracking
查看>>