HDOJ1248(完全背包)

来源:互联网 发布:解数学题用什么软件 编辑:程序博客网 时间:2024/06/05 12:42
#include <iostream> #include <cstring>#include <string>#include <cstdio>#include <algorithm>#include <stack>#include <math.h>#include<iostream>#include <map>using namespace std;#define INF  0xfffff;//0x代表十六进制#define M 10int num[3] = { 150,200,350 };int dp[10050];int main(){int t;cin >> t;for (int i = 0; i < t; i++){memset(dp, 0, sizeof(dp));int n;cin >> n;for (int i = 0; i < 3; i++)for (int j = num[i]; j <= n; j++) dp[j] = max(dp[j], dp[j - num[i]] + num[i]);  //与01背包不一样 是顺序cout << n - dp[n] << endl;}}

原创粉丝点击