现在的位置: 首页 > 综合 > 正文

hdu 1248 完全背包

2013年08月28日 ⁄ 综合 ⁄ 共 344字 ⁄ 字号 评论关闭
//完全背包用优化DP做
//F[i] = max(F[v],F[N - C[i]] + C[i]);
//1a  oms
#include <iostream>
#include <cstring>
using namespace std;

int F[10001];
int C[4];
int T;
int N;

int main()
{
	C[1] = 150;
	C[2] = 200;
	C[3] = 350;
	cin>>T;
	while(T--)
	{
		cin>>N;
		for(int i = 0; i <= N; i++)
		{
			F[i] = 0;
		}
		for(int i = 1; i <= 3; i++)
		{
			for(int j = C[i]; j <= N; j++)
			{
				F[j] = max(F[j],F[j - C[i]] + C[i]);
			}
		}
		int feil = N - F[N];
		cout<<feil<<endl;
	}
	return 0;
}

抱歉!评论已关闭.