打败万恶的ghost以后,将军准备回寝室告诉大伙儿这个消息,没想到杯具又发生了…
你知道有种鬼叫“路鬼”吗?让人莫名其妙的迷路,将军就被这种鬼上身了。将军本来要上楼的,但是因为鬼上身,他要不就上一层楼,要不就下一层楼,这个是随机的,他不能控制自己啦!
假设将军住在第M楼,刚开始将军在K楼,因为体力原因,将军只能上或者下N次楼,假设东6宿舍共有100层。现在问当体力消耗完的时候,将军刚好回到寝室那一层有多少种走法。
例如:将军住在5楼,将军能上或者下5次楼,现在在1楼,
那么将军将回不到寝室啦,为什么?我也不知道。
Description
有多组测试数据,每组测试数据共一行,为M,N,K(0 < N < 21,0 < M,K < 101)的值,中间以空格分开,分别代表将军住在第几层,能移动几次和刚开始在第几层;
Input
对应每一组测试数据,输出体力消耗完时将军刚好回到寝室那一层的走法总数
Output
44 5 41
5 5 1
Sample Input
5
0
1 #include<stdio.h> 2 int x=0; 3 void dfs(int m,int n,int step) 4 { 5 if(step==m && n==0) 6 { 7 x++; 8 } 9 if(n==0) 10 return; 11 if(step+1<101) 12 dfs(m,n-1,step+1); 13 if(step-1>0) 14 dfs(m,n-1,step-1); 15 } 16 int main() 17 { 18 int m,n,k; 19 x=0; 20 while(scanf("%d %d %d",&m,&n,&k)!=EOF) 21 { 22 dfs(m,n,k); 23 printf("%d\n",x); 24 x=0; 25 } 26 return 0; 27 }
时间: 2024-11-05 13:46:14