//注意取模!!
#include<cstdio>
#include<iostream>
using namespace std;
const int mod=10056;
int f[1500],x,n,c[2000][2000];
void prepare()
{
for(int i=0;i<=1500;i++) {c[i][i]=1;c[i][0]=1;}
for(int i=1;i<=1500;i++)
for(int j=1;j<=i;j++)
c[i][j]=(c[i-1][j-1]+c[i-1][j])%mod;
}
void solve()
{
f[1]=1;f[0]=1;f[2]=3;
for(int i=3;i<=1500;i++)
for(int j=1;j<=i;j++)
{
int k=(c[i][j]*f[i-j])% mod;
// cout<<k<<" "<<c[i][j]<<" "<<f[i-j]<<endl;
f[i]=(k+f[i])% mod;
}
}
int main()
{
prepare();
solve();
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&x);
printf("Case %d: %d\n",i+1,f[x]);
}
return 0;
}
UVA 12034(p332)----Race
最新推荐文章于 2021-04-26 20:46:46 发布