记录编号 162298 评测结果 AAAAAAAAAA
题目名称 [POI 1998] 潜水员的问题 最终得分 100
用户昵称 Gravatarforever 是否通过 通过
代码语言 C++ 运行时间 0.057 s
提交时间 2015-05-16 10:32:40 内存使用 4.16 MiB
显示代码纯文本
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
using namespace std;
int f[1002][1002],w[1002],yang1[1002],dan1[1002];
int yang,dan,n;
int main()
{    freopen("ple.in","r",stdin);
	freopen("ple.out","w",stdout);
	cin>>yang>>dan;
	cin>>n;
	memset(f,125,sizeof(f));
	f[0][0]=0;
	for(int i=1;i<=n;++i)
	 cin>>yang1[i]>>dan1[i]>>w[i];
	for(int i=1;i<=n;++i)
	 for(int j=yang;j>=0;--j)
	  for(int y=dan;y>=0;--y)
	  {
		int jie=j+yang1[i],jiege=y+dan1[i];
		if(jie>yang) jie=yang;
		if(jiege>dan) jiege=dan;
		if(f[jie][jiege]>f[j][y]+w[i]) f[jie][jiege]=f[j][y]+w[i];
	  }
	cout<<f[yang][dan];
	//system("pause");
}