不会递推,只能动手模拟了(
2024-03-28 19:22:15
发布于:广东
12阅读
0回复
0点赞
#include <iostream>
#include <cstdio>
#include <memory.h>
using namespace std;
int a[35], b[35];
int main(){
int n, t;
cin >> n >> t;
a[1] = 1;//当t为0时,在1手上的有一种情况
while(t--){
memset(b, 0, sizeof(b));//清空数组
b[n] += a[1], b[2] += a[1];//特判1
for(int i = 2; i < n; i++){
if(a[i]){
b[i - 1] += a[i], b[i + 1] += a[i];//模拟传球,把情况数传下去
}
}b[1] += a[n], b[n - 1] += a[n];//特判2
for(int i = 1; i <= n; i++){
a[i] = b[i];//复制b数组回去
}
}cout << a[1];//输出球在1时的情况种数
return 0;
}
秒了!
这里空空如也
有帮助,赞一个