//转以上可以优化 #include<stdio.h> #include<string.h> typedef long long lld; const int maxn=15005; const int mod=100000007; lld dp[2][maxn]; int main() { int T; int flag; int i,j; int N,K,S; scanf("%d",&T); for(int cas=1;cas<=T;cas++){ scanf("%d%d%d",&N,&K,&S); flag=1; memset(dp,0,sizeof(dp)); dp[0][0]=1; lld tot; for(i=1;i<=N;i++){ tot=0; for(j=0;j<=S;j++){ if(j>0)tot=(tot+dp[1-flag][j-1])%mod; if(j>K)tot=((tot-dp[1-flag][j-K-1])%mod+mod)%mod; dp[flag][j]=tot; } flag=1-flag; } printf("Case %d: %lld\n",cas,dp[1-flag][S]); } return 0; }
1145 - Dice (I) Lightoj
最新推荐文章于 2021-10-21 22:29:50 发布