📄 car.cpp
字号:
program tjcoi2_3; { Write By Li Xuewu }
type arr20=array[0..20] of real;
var rr,uu,cc,d,e:arr20;
f:array [0..22,0..21] of real;
g:array [0..22,0..21] of integer;
i,j,k,k2,n,t:integer;
file1:string[20];
p,q:real;
text2,text3:text;
procedure init;
var i:integer;
begin
writeln('Input filename:');
readln(file1);
assign(text2,file1); reset(text2);
readln(text2,n); readln(text2,k);
for i:=0 to k do read(text2,rr[i]); readln(text2);
for i:=0 to k do read(text2,uu[i]); readln(text2);
for i:=0 to k do read(text2,cc[i]); readln(text2);
close(text2);
for i:=0 to k do
begin d[i]:=rr[i]-uu[i]; e[i]:=d[0]-cc[i]; end;
end;
procedure result3;
var i:integer;
begin
writeln('enter filename for output:');
readln(file1);
assign(text3,file1); rewrite(text3);
writeln(text3,f[1,1]:8:3);
writeln(text3,' 1 0', e[0]:8:2); t:=1;
for i:=2 to n do
if g[i,t]=1 then
begin writeln(text3,i:2,' 1',e[t]:8:2); t:=1 end
else
begin writeln(text3,i:2,' 0',d[t]:8:2); t:=t+1; end ;
writeln(f[1,1]:8:3);
writeln(' 1 0',e[0]:8:2); t:=1;
for i:=2 to n do
if g[i,t]=1 then
begin writeln(i:2,' 1',e[t]:8:2); t:=1 end
else
begin writeln(i:2,' 0',d[t]:8:2); t:=t+1; end ;
close(text3);
end;
begin {main}
init;
for i:=0 to n do
for j:=0 to k do g[i,j]:=1;
for i:=0 to k do f[n+1,i]:=0;
for i:=1 to n+1 do f[i,k+1]:=-100;
for j:=n downto 2 do
begin
k2:=k;
if j<k then k2:=j-1;
for t:=1 to k2 do
begin
p:=e[t]+f[j+1,1]; q:=d[t]+f[j+1,t+1];
f[j,t]:=p; g[j,t]:=1;
if q>p then
begin g[j,t]:=0; f[j,t]:=q; end;
end;
end;
f[1,1]:=d[0]+f[2,1];
result3;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -