解题思路:
应该是用dp做的,然而并不会...强行DFS还是可以过的,可以承受20以内数据量的打击
注意事项:
哪个大佬来教我一下dp哈
参考代码:
#include <iostream> #define N 25 using namespace std; int importance[N + 2]; int value[N + 2]; void DFS(int curIndex, int curValue, long long curProduct, const int n, const int maxValue, long long & maxProduct) { if (curIndex >= n) { if (curProduct > maxProduct && curValue <= maxValue) { maxProduct = curProduct; } return; } else if(curValue > maxValue) { return; } else { DFS(curIndex + 1, curValue + value[curIndex], curProduct + importance[curIndex] * value[curIndex], n, maxValue, maxProduct); DFS(curIndex + 1, curValue, curProduct, n, maxValue, maxProduct); } return; } int main(int argc, char** argv) { int n = 0, m = 0; cin >> n >> m; int v = 0, p = 0; for (int i = 0; i < m; i++) { cin >> v >> p; value[i] = v; importance[i] = p; } long long ans = 0; DFS(0, 0, 0, m, n, ans); cout << ans << endl; return 0; }
0.0分
0 人评分
点我有惊喜!你懂得!浏览:2709 |
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:685 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:516 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:586 |
矩形面积交 (Java代码)浏览:1226 |
弟弟的作业 (C++代码)浏览:1306 |
蓝桥杯历届试题-九宫重排 (C++代码)浏览:2784 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:908 |
C语言程序设计教程(第三版)课后习题1.6 (C++代码)浏览:904 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:613 |