`天蝎籽` 2008-06-26 07:45:00
点我顶贴
收藏
删除
第四个点为什么过不了??
#include<iostream>
using namespace std;
long n;
long long A,B,i,j,k,t1,t2;
long long f[30][100],a[1001],b[1001],c[1001];
main()
{
cin>>A>>B>>n;
memset(f,50000,sizeof(f));
for(i=1;i<=n;i++)
cin>>a[i]>>b[i]>>c[i];
f[0][0]=0;
for(k=1;k<=n;k++)
for(i=A;i>=1;i--)
for(j=B;j>=1;j--){
t1=i-a[k],t2=j-b[k];
if(t1<0) t1=0;
if(t2<0) t2=0;
f[i][j]=min(f[i][j],f[t1][t2]+c[k]);
}
cout<<f[A][B];
cin>>i;
}