将军鬼上身啦!

Description打败万恶的ghost以后,将军准备回寝室告诉大伙儿这个消息,没想到杯具又发生了… 你知道有种鬼叫“路鬼”吗?让人莫名其妙的迷路,将军就被这种鬼上身了。将军本来要上楼的,但是因为鬼上身,他要不就上一层楼,要不就下一层楼,这个是随机的,他不能控制自己啦! 假设将军住在第M楼,刚开始将军在K楼,因为体力原因,将军只能上或者下N次楼,假设东6宿舍共有100层。现在问当体力消耗完的时候,将军刚好回到寝室那一层有多少种走法。 例如:将军住在5楼,将军能上或者下5次楼,现在在1楼, 那么将军将回不到寝室啦,为什么?我也不知道。
Input有多组测试数据,每组测试数据共一行,为M,N,K(0 < N < 21,0 < M,K < 101)的值,中间以空格分开,分别代表将军住在第几层,能移动几次和刚开始在第几层;
Output对应每一组测试数据,输出体力消耗完时将军刚好回到寝室那一层的走法总数

Sample Input

44 5 41
5 5 1

Sample Output

5
0





#include <stdio.h>
void main()
{
int m,n,k,i,j;
int dp[102][2];
while(scanf("%d %d %d",&m,&n,&k)!=EOF)
{
for(j=0;j<102;j++)
dp[j][0]=0,dp[j][1]=0;
dp[k][0]=1;
int d=1;
for(i=0;i<n;i++)
{
for(j=1;j<=100;j++)
dp[j][d]=dp[j-1][1-d]+dp[j+1][1-d];
d=1-d;
}
printf("%d\n",dp[m][1-d]);
}
}

posted @ 2013-06-23 22:15  失眠的娃儿  阅读(302)  评论(0编辑  收藏  举报