比赛 2024国庆练习3 评测结果 AAATAATTTT
题目名称 简单的多重背包 最终得分 50
用户昵称 彭欣越 运行时间 15.189 s
代码语言 C++ 内存使用 14.67 MiB
提交时间 2024-10-06 17:31:39
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int mod=23333333;
int n;
long long dp[5010][5010];
int main () {
	freopen("get_bag.in","r",stdin);
	freopen("get_bag.out","w",stdout);
	cin >> n;
	dp[0][0]=1;
	for (int i=1;i<=n;i++) {
  		for (int j=0;j<=n;j++) {
    		for (int k=0;k*i<=n&&k<=i;k++) {
     			dp[i][j]=(dp[i][j]+dp[i-1][j-k*i])%mod;
     			//cout << j <<' '<< dp[j] <<"---"<< j-k*i <<' '<< dp[j-k*i] <<' '<< k <<endl;
    		}
  		}
    }
    cout << dp[n][n] <<endl;
	return 0;
}