Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
52944 | UhhhQQQU | 数学,很美妙吧 | C++ | 运行超时 | 0 | 1000 MS | 260 KB | 618 | 2022-07-20 12:19:35 |
#include<cstdio> #include<iostream> using namespace std; typedef long long ll; const int N=5e3+10; const ll mod=1e9+7; int n,m,p; ll f[N][N],qzh[N][N]; int quickpow(int a,int b) { int ret=1; while(b) { if(b&1) ret=(1ll*ret*a)%mod; a=(1ll*a*a)%mod; } return ret; } int main() { scanf("%d%d%d",&n,&p,&m); f[0][0]=1; for(int i=1;i<=n;i++) for(int k=1;k<=p;k++) for(int j=i;j<=n;j++) { qzh[j][k]+=(qzh[j][k]+qzh[j-i][k-1])%mod; qzh[j][k]+=1ll*quickpow(i,m)*f[j-i][k-1]%mod; f[j][k]=(f[j][k]+f[j-i][k-1])%mod; } printf("%lld",qzh[n][p]); return 0; }