题目 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;
}
posted @ 2021-04-04 22:31  Dazzling!  阅读(39)  评论(0编辑  收藏  举报