P8725 [蓝桥杯 2020 省 AB3] 画中漂流
题解
1.总共有t秒,每一秒不是上升就是下降
2.要在救援队赶来之前把体力全部花光
code
#include<bits/stdc++.h>
using namespace std;
int dp[3005][1505]={0};//代表第i秒使用j点体力的方案数
int main()
{
int d,t,m;
cin>>d>>t>>m;
dp[0][0]=1;
for(int i=1;i<=t;i++)
{
for(int j=min(i,m);j>=0;j--)
{
if((i-j)-j>=d)break;//如果掉下悬崖,方案数为零
if(j)dp[i][j]+=dp[i-1][j-1];//如果能上升
if(j<i)dp[i][j]+=dp[i-1][j];//如果能下降
dp[i][j]%=1000000007;
}
}
cout<<dp[t][m]<<endl;
return 0;
}

浙公网安备 33010602011771号