#7 WA,求助
查看原帖
#7 WA,求助
605777
Jasonde1024楼主2023/10/12 13:04
#include <iostream>
#include <cmath>
using namespace std;
int n, m, r;
int rmb[105] = {0};
int rp[105] = {0};
int tme[105] = {0};
int dpn[105][105] = {0};
int dpt[105][105] = {0};

int main() {
	cin >> n;
	for (int i = 1; i <= n; ++i) {
		cin >> rmb[i] >> rp[i] >> tme[i];
	}
	cin >> m >> r;
	for (int i = 1; i<= n; ++i) {
		for (int j = r; j >= rp[i]; --j) { // 当前人品
			for (int k = m; k >= rmb[i]; --k) { // k=当前人民币数量
				if (dpn[j][k] < dpn[j-rp[i]][k-rmb[i]]+1) {
					dpt[j][k] = dpt[j-rp[i]][k-rmb[i]]+tme[i];
					dpn[j][k] = dpn[j-rp[i]][k-rmb[i]]+1;
				} else if (dpn[j][k] == dpn[j-rp[i]][k-rmb[i]]+1) {
					dpt[j][k] = min(dpt[j-rp[i]][k-rmb[i]]+tme[i], dpt[j][k]);
				} 
				
				
			}
		}
	}
	cout << dpt[m][r];
}

显示read0,expected 1.可是我和第一篇题解的思路对照了一下,发现没什么错误呀?这到底是怎么回事呢?

2023/10/12 13:04
加载中...