记录编号 |
162298 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[POI 1998] 潜水员的问题 |
最终得分 |
100 |
用户昵称 |
forever |
是否通过 |
通过 |
代码语言 |
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");
}