赞
踩
参看牛客网第一期的 A
PACM
参考 https://blog.csdn.net/qq_36368339/article/details/81227875
(占坑)
-
-
- #include<iostream>
- #include<algorithm>
- using namespace std;
- #define maxn 38
- int path[maxn][maxn][maxn][maxn][maxn];
- int dp[maxn][maxn][maxn][maxn];
- int cnt[maxn][maxn][maxn][maxn];
- //int a[]
- //记得+1..
- int a[maxn]; int b[maxn], c[maxn], d[maxn];
- int g[maxn];
- int main() {
- int n; cin >> n;
- for (int i = 1; i <= n; i++)
- cin >> a[i] >> b[i] >> c[i] >> d[i]>>g[i];
- int aa, bb, cc, dd; cin >> aa >> bb >> cc >> dd;
- for (int i = 1; i <= n; i++) {
- for (int a1 = aa; a1 >= a[i]; a1--) {
- for (int b1 = bb; b1 >= b[i]; b1--) {
- for (int c1 = cc; c1 >= c[i]; c1--) {
- for (int d1 = dd; d1 >= d[i]; d1--) {
- //可以不用max吗 可以呀
- if (dp[a1][b1][c1][d1] >= dp[a1 - a[i]][b1 - b[i]][c1 - c[i]][d1 - d[i]] + g[i])
- {
- //无操作..
- path[a1][b1][c1][d1][i] = path[a1][b1][c1][d1][i - 1];
- }
- else //如果那个大了的话就去更新
- {
- dp[a1][b1][c1][d1] = dp[a1 - a[i]][b1 - b[i]][c1 - c[i]][d1 - d[i]] + g[i];
- path[a1][b1][c1][d1][i] = i; // path[a1 - a[i]][b1 - b[i]][c1 - c[i]][d1 - d[i]][i - 1]+1;
- }
- /*
- if (dp[a1][b1][c1][d1] == max(dp[a1][b1][c1][d1], dp[a1 - a[i]][b1 - b[i]][c1 - c[i]][d1 - d[i]] + g[i]))
- {
- path[a1][b1][c1][d1][i] = path[a1][b1][c1][d1][i - 1];
- //如果是0的话,应该不变啊,可是怎么写呢//cnt[a1][b1][c1][d1]
- }
- //啊不行... 还要记录他上一个是什么... 既然每一个过来都是最佳的
- //如果没转移,就别管,如果转移了,就记录他
- else {
- path[a1][b1][c1][d1][i] = i;
- cnt[a1][b1][c1][d1]= dp[a1 - a[i]][b1 - b[i]][c1 - c[i]][d1 - d[i]]+1;
- }
- dp[a1][b1][c1][d1] = max(dp[a1][b1][c1][d1], dp[a1 - a[i]][b1 - b[i]][c1 - c[i]][d1 - d[i]] + g[i]);
- */
-
- }
- }
- }
- }
- }
- cout << "ans"<<dp[aa][bb][cc][dd]<<endl;
- //cout << cnt[aa][bb][cc][dd];
- int tmp; int rec=0;
- int temp = 0;
-
- temp=path[aa][bb][cc][dd][n];
- cout << temp;
- for (int i = n; i >=1; i++) {
- /*tmp = path[aa][bb][cc][dd][i];
- if (tmp = rec)break;
- rec = tmp;
- cout << tmp << endl;
- */
-
- cout << path[aa][bb][cc][dd][temp];
-
-
- temp=path[aa][bb][cc][dd][temp];
- }
- return 0;
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。