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

📄 two.pas

📁 PASCAL光盘资料PASCAL光盘资料PASCAL光盘资料
💻 PAS
字号:

{ DMIH 2002 - Drugi dan natjecanja        }
{ Srednjoskolska skupina - II. podskupina }
{ Zadatak DVIJE                           }
{ Autor rjesenja Ivan Sikiric             }

program two;
const maxn = 10000;
      maxe = (maxn-1)*2;
var n, i, a, b, c : integer;
    rj, najduziput : longint;
    f : text;
    vrhovi : array[1..maxe] of record b, c, p : integer; end;
    lista : array[1..maxn] of integer;
    posjetio : array[1..maxn] of boolean;

function posjeti(x : integer) : longint;
var duljina, najveca : longint;
    y : integer;
begin
     posjetio[x]:=true;
     y:=lista[x];
     najveca:=0;
     while y<>0 do
     begin
         if not(posjetio[vrhovi[y].b]) then
            duljina:=vrhovi[y].c+posjeti(vrhovi[y].b) else
            duljina:=0;
         if duljina+najveca>najduziput then najduziput:=duljina+najveca;
         if duljina>najveca then najveca:=duljina;
         y:=vrhovi[y].p;
     end;
     posjeti:=najveca;
end;

begin
    assign(f, 'two.in');
    reset(f);
    readln(f, n); { :) }
    rj := 0;
    for i:=1 to n do lista[i]:=0;
    for i:=1 to n-1 do
    begin
        readln(f, a, b, c);
        rj:=rj+c;
        vrhovi[i*2-1].b:=b;
        vrhovi[i*2-1].c:=c;
        vrhovi[i*2-1].p:=lista[a];
        lista[a]:=i*2-1;
        vrhovi[i*2].b:=a;
        vrhovi[i*2].c:=c;
        vrhovi[i*2].p:=lista[b];
        lista[b]:=i*2;
    end;
    close(f);
    najduziput:=0;
    for i:=1 to n do posjetio[i]:=false;
    posjeti(1);
    rj:=rj*2-najduziput;
    assign(f, 'two.out');
    rewrite(f);
    writeln(f, rj);
    close(f);
end.

⌨️ 快捷键说明

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