题目 1282: 公交汽车

可以通过无限次的换车来完成旅程,每次换车又可以走大小为(1 sim 10)的距离,完全背包裸题,即体积大小为(1 sim 10)的每种物品均为无限个。

const int N=510;
int f[N];
int a[N];
int n;

int main()
{
    for(int i=1;i<=10;i++) cin>>a[i];

    cin>>n;

    memset(f,0x3f,sizeof f);
    f[0]=0;
    for(int i=1;i<=10;i++)
        for(int j=i;j<=n;j++)
            f[j]=min(f[j],f[j-i]+a[i]);

    cout<<f[n]<<endl;
    //system("pause");
    return 0;
}
原文地址:https://www.cnblogs.com/fxh0707/p/14617327.html