比赛 20101025 评测结果 AAAAAWWWWW
题目名称 逛街 最终得分 50
用户昵称 Citron酱 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2010-10-25 20:10:51
显示代码纯文本
#include <fstream>

#define I_F "shop.in"
#define O_F "shop.out"
#define MAX 300

using namespace std;

short w[MAX],v[MAX],t[MAX],h[MAX],n,x,y;
int ans;

void Input();
void Search(short z, short nw, short nv, short nt);
void Output();

int main()
{
	Input();
	Search(0,0,0,0);
	Output();
	return 0;
}

void Input()
{
	ifstream fin(I_F);
	fin>>n>>x>>y;
	for (short i=0; i<n; i++)
		fin>>w[i]>>v[i]>>t[i]>>h[i];
	fin.close();
}

void Search(short z, short nw, short nv, short nt)
{
	if (z==n)
	{
		if (nt>ans)
			ans=nt;
	}
	else
		if ((nw+w[z]<=x)&&(nv+v[z]<=y))
		{
			Search(z+1,nw+w[z],nv+v[z],nt+t[z]);
			if ((nw+w[z]*h[z]<=x)&&(nv+v[z]*h[z]<=y))
				Search(z+1,nw+w[z]*h[z],nv+v[z]*h[z],nt+t[z]*h[z]);
		}
		else
			Search(z+1,nw,nv,nt);
}

void Output()
{
	ofstream fout(O_F);
	fout<<ans<<'\n';
	fout.close();
}