hihocoder 01背包问题

来源:互联网 发布:金蝶数据导入导出接口 编辑:程序博客网 时间:2024/05/22 06:52
#include<iostream>using namespace std;int valueMax[501][100001];int valueNeed[1001];int need[200001];void knap(int n, int m);int main(){int N, M;while(cin>>N>>M){    for (int i = 1; i<=N; i++){cin >> need[i];cin >> valueNeed[i];}knap(N, M);cout << valueMax[N][M] << endl;}    return 0;}void knap(int n, int value){int i, j;for (i = 0; i <= n; i++){valueMax[i][0] = 0;}for (j = 0; j <= value; j++){valueMax[0][j] = 0;}for (i = 1; i <= n; i++)for (j = 1; j <= value; j++){if (j<need[i]){valueMax[i][j] = valueMax[i - 1][j];continue;}if (valueMax[i - 1][j] >= valueMax[i - 1][j - need[i]] + valueNeed[i])valueMax[i][j] = valueMax[i - 1][j];elsevalueMax[i][j] = valueMax[i - 1][j - need[i]] + valueNeed[i];}}

姐姐发现,wrong ans 原因四,数组大小刚好是hiho上声称的最大容量。于是多加上一个1就对了。。。。以上代码AC  hiahia
0 0
原创粉丝点击