切换到宽版
  • 4559阅读
  • 1回复

磁带存储问题 [复制链接]

上一主题 下一主题
离线少先队
 
只看楼主 倒序阅读 0 发表于: 2006-12-06
磁带存储问题

有N个程序需要存储在磁带上,它们的长度分别是L1,L2,L3,……Ln,它们使用的频率分别为F1,F2,F3……Fn。求各程序在磁带最佳存储顺序,使得平均检索时间最少。
离线少先队
只看该作者 1 发表于: 2006-12-06
var n,i,j,t,x,s:integer; p:real;
  b:array [1..100] of real; l,a,c,f:array [1..100] of integer;
begin
read(n);
for i:=1 to n do begin read(l); a:=i; end;
for i:=1 to n do read(f);
for i:=1 to n do
  b:=f/l;
for i:=1 to n-1 do
  for j:=i+1 to n do
    if b<b[j] then
      begin
        p:=b; b:=b[j]; b[j]:=p; t:=f; f:=f[j]; f[j]:=t;
        t:=l; l:=l[j]; l[j]:=t; t:=a; a:=a[j]; a[j]:=t;
      end;
for i:=1 to n do for j:=1 to i-1 do c:=c+l[j];
for i:=1 to n do begin s:=s+c*f; x:=x+f; end; writeln(s/x:0:2);
for i:=1 to n do write(a,' ');
end.
快速回复
限100 字节
 
上一个 下一个