AcWing 2879. 画中漂流
原题链接
中等
作者:
yvan
,
2021-03-23 16:17:43
,
所有人可见
,
阅读 373
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N = 3010;
const int MOD = 1000000007;
int maxt,maxd,maxm;
int f[N][N/2];
bool issafe(int t,int m){
return (t-2*m) < maxd;
}
int main(){
cin>>maxd>>maxt>>maxm;
f[0][0] = 1;
for(int i = 0; i <= maxt ;i++){
for(int j = 0; j<=i && j<=maxm; j++){
if(((j-1)>=0) && issafe(i-1,j-1)) f[i][j]=(f[i][j]+f[i-1][j-1])%MOD;
if((j<=i-1) && issafe(i-1,j)) f[i][j] = (f[i][j]+f[i-1][j])%MOD;
}
}
cout<<f[maxt][maxm];
return 0;
}