- 分零食
- 2015-07-27 09:20:10 @
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,a,b,c,p,rec[110][11000],g[1001],ans=0;
int f(int x){
return ((a*x*x)%p+(b*x)%p+c)%p;
}
int main(){
scanf("%d %d %d %d %d %d",&m,&p,&n,&a,&b,&c);
int ans=0;
for (int i=1;i<=m;i++) rec[1][i]=f(i);
for (int i=2;i<=n;i++){
rec[i][i-1]=0;g[i-1]=0;
int d=(rec[i-1][i-1]*f(1))%p;
for (int j=i;j<=m;j++){
g[j]=(g[j-1]+d)%p;
d+=(((2*a-f(2)+2*f(1))%p)*rec[i-1][j-2]+(f(2)-3*f(1))*rec[i-1][j-1]+f(1)*rec[i-1][j])%p;
}
for (int j=i;j<=m;j++)
rec[i][j]=(rec[i][j-1]+g[j])%p;
}
for (int i=1;i<=n;i++) ans+=rec[i][m],ans%=p;
printf("%d\n",ans);
}
1 条评论
-
laosb LV 4 @ 2015-07-28 12:05:31
请在贴代码时选中全部复制过来的代码按一下**Tab**。
- 1
信息
- ID
- 1955
- 难度
- 9
- 分类
- (无)
- 标签
- 递交数
- 356
- 已通过
- 22
- 通过率
- 6%
- 被复制
- 2
- 上传者