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

📄 hospital.pas

📁 PASCAL光盘资料PASCAL光盘资料PASCAL光盘资料
💻 PAS
字号:
program hospital(input, output);
var w : array [1..100] of longint;
    g : array [1..100, 1..100] of longint;
    n, i, j, k, l, r, min,s : longint;

begin
  assign(input, 'hospital.in'); reset(input);
  readln(n);
  for i := 1 to n do
    for j := 1 to n do
      g[i][j] := 1000000;
  for i := 1 to n do
    begin
      g[i][i] := 0;
      readln(w[i], l, r);
      if l > 0
        then begin
               g[i][l] := 1;
               g[l][i] := 1
             end;
      if r > 0
        then begin
               g[i][r] := 1;
               g[r][i] := 1
             end
    end;

  for k := 1 to n do
    for i := 1 to n do
      if i <> k then
        for j := 1 to n do
          if (i <> j) and (k <> j) and (g[i][k] + g[k][j] < g[i][j])
            then g[i][j] := g[i][k] + g[k][j];

  min := maxlongint;
  for i := 1 to n do
    begin
      s:=0;
      for j := 1 to n do
        inc(s, g[i][j] * w[j]);
      if s < min then min := s
         end;

  writeln(min);

  close(input)
end.

⌨️ 快捷键说明

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