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

📄 marathon.pas

📁 PASCAL光盘资料PASCAL光盘资料PASCAL光盘资料
💻 PAS
字号:
program E3_5; {Marathon}
const
 number=5;
 mileage=25;
var
 a:array[1..number,1..10] of integer;
 b:array[1..number] of byte;
 i,j,k,min,m,t:integer;

procedure init;
begin
 assign(input,'marath.in');
 reset(input);
 for i:=1 to number do
   for j:=1 to 10 do read(a[i,j]);
 close(input);
end;

procedure work;
begin
 for i:=1 to number do
  begin
   b[i]:=1;
   min:=min+a[i,1];
  end;
 k:=mileage-number;
 while k>0 do
   begin
    t:=1;
    while b[t]=10 do inc(t);
    m:=t;
    for j:=t+1 to number do
    	if b[j]<10 then
       	if a[j,b[j]+1]-a[j,b[j]]<a[m,b[m]+1]-a[m,b[m]] then m:=j;
    dec(k);
    min:=min+a[m,b[m]+1]-a[m,b[m]];
    inc(b[m]);
   end;
end;

procedure print;
begin
 assign(output,'marath.out');
 rewrite(output);
 writeln(min);
 for i:=1 to number-1 do write(b[i],' ');
 writeln(b[number]);
 close(output);
end;

begin
 init;
 work;
 print
end.


			mi

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -