wwwfj5 2010-05-27 01:22:00
点我顶贴
收藏
删除
标准长1位,我输出5位。A了的大牛帮看下,那些细节还没顾虑到吗?
program station;
var
f:array[1..100] of longint;
i,j,k,n:longint;
a:array[0..100] of integer;
begin
for i:=1 to 100 do
begin
f[i]:=maxint;
a[i]:=maxint;
end;
a[0]:=0;
for i:=1 to 10 do
begin
read(a[i]);
f[i]:=a[i];
end;
readln;
readln(n);
if n<=10 then writeln(a[i]);
for i:=1 to n do
for j:=1 to i do
if f[i]>f[j]+a[i-j] then f[i]:=f[j]+a[i-j];
writeln(f[n]);
end.
#1 wwwfj5@2010-05-27 01:22:00
14745
回复
删除
我错了,错把输入数据当成一定是最优的了。
把
“if n<=10 then writeln(a[i]);”
删去,则AC之。