题目简介
haozi 很淘气,最近 FJ 带了很多好吃的,haozi 乘 FJ 不在的时候就吃了很多好吃的,FJ 回来发现了,决定一定要抓住 haozi。
但是 haozi 很聪明,假设原来他在 16 号楼,那么下一分钟必定是在 15 号楼或者 17 号楼 .
如果他一开始在 1 号楼,那么下一分钟只能在 2 号楼 ,
如果他一开始在 n 号楼,那么下一分钟一定在 n-1 号楼。
现在给定一共有 n 号楼,一开始 haozi 在 p 号楼,求过了 m 分钟,haozi 在 t 号楼的一共有多少种行走方案数
说明
似乎是道dfs题啊?
#include <stdio.h>
#include <stdlib.h>
int count,t,n;
void level(int p, int m){
if (m <= 0){
if (p == t) count++;
return;
}
if (p == 1) level(2, m - 1);
else if (p == n) level(n - 1, m - 1);
else{
level(p + 1, m - 1);
level(p - 1, m - 1);
}
}
int main(){
int cas,start,min;
scanf("%d", &cas);
while (cas--){
count = 0;
scanf("%d%d%d%d",&n,&start,&min,&t);
level(start,min);
printf("%d\n", count);
}
return 0;
}