最小乘车费用

题意

假设某条街上每一公里就有一个公共汽车站,并且乘车费用如下表:
  
  而任意一辆汽车从不行驶超过10公里。某人想行驶n公里,假设他可以任意次换车,请你帮他找到一种乘车方案,使得总费用最小 

分析

f[i]:=min(f[i],f[i-j]+a[j]) 


var
i,j,n:longint;
f,a:array[0..100]of longint;
begin
    for i:=1 to 10 do
    read(a[i]);
    read(n);
    for i:=1 to n do
    begin
        f[i]:=maxlongint;
        for j:=1 to 10 do
        if i>=j then
        if f[i-j]+a[j]<f[i] then f[i]:=f[i-j]+a[j];
    end;
    write(f[n]);
end.

posted @ 2017-03-04 10:39  银叶草  阅读(132)  评论(0编辑  收藏  举报
Live2D