⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 car.cpp

📁 解决实际应用
💻 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 + -