我暴力nk^2代码都过了,如下。
#include <bits/stdc++.h>
using namespace std;
int n,k;
int f[1005][1005];
const int mod=10000;
int main(){
ios::sync_with_stdio(false);
cin >> n >> k;
for(int i=1;i<=n;i++){
f[i][0]=1;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=k;j++){
for(int t=0;t<=min(i-1,j);t++){
f[i][j]+=f[i-1][j-t];
f[i][j]%=10000;
}
}
}
cout << f[n][k]%10000;
}
而且还能跑2.46s。
正常情况下评测我认为是跑不了1e9的。