C/C++ .和->的区别和
-> 是指针指向其成员的运算符,前面是指针。 . 是结构体的成员运算符,前面添加结构体
背包问题 贪心算法 :每一步需求最优解,以达到整体最优。
int packAge(int W, int N, int* wt, int* val) {
int dp[30][30] = { NULL };
int max = 0;
for (int i = 1; i <= N; i++) {
for (int w = 1; w <= W; w++) {
if (w - wt[i - 1] < 0) {
dp[i][w] = dp[i - 1][w];
}
else {
if (dp[i - 1][w - wt[i - 1]] + val[i - 1] >= (dp[i - 1][w]) ) { //wall
dp[i][w] = dp[i - 1][w - wt[i - 1]] + val[i - 1];
}
else {
dp[i][w] = (dp[i - 1][w]);
}
}
}
}
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
cout << dp[i][j] << " ";
}
cout << endl;
}
return dp[N][W];
}
int main(int argc, char* argv[])
{
int wt[10] = { 2,3,4,5 };
int val[10] = { 3,4,5,6};
int max = packAge(8, 4, wt, val);
cout << "max=" << max << endl;
return 0;
}



