赞
踩
假设某条街上每一公里就有一个公共汽车站,并且乘车费用如下:
公里数 1 2 3 4 5 6 7 8 9 10
费用 12 21 31 40 49 58 69 79 90 101
输出描述 Output Description
输出仅一行,为乘车的最小费用。
147
代码:
var a:array[1..10] of longint;
f:array[0..100] of longint;
i,n,j,t,min:longint;
begin
for i:=1 to 10 do begin read(a[i]); f[i]:=a[i]; end;
read(n);
for i:=1 to 10 do
begin
for j:=1 to i-1 do
if f[j]+f[i-j]<f[i] then f[i]:=f[j]+f[i-j];
end;
if n<=10 then writeln(f[n])
else
begin
for i:=11 to n do
begin
min:=999999;
for j:=i-1 downto 1 do
begin
if f[i-j]+f[j]<min then min:=f[i-j]+f[j];
end;
f[i]:=min;
end;
writeln(f[n]);
end;
end.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。