状态: Unaccepted
测评机: Xeost[5]
得分: 90分
提交日期: 2009-6-6 23:12:00
有效耗时: 1204毫秒
测试结果1: 选手程序无输出
测试结果2: 通过本测试点|有效耗时47ms
测试结果3: 通过本测试点|有效耗时157ms
测试结果4: 通过本测试点|有效耗时62ms
测试结果5: 通过本测试点|有效耗时157ms
测试结果6: 通过本测试点|有效耗时157ms
测试结果7: 通过本测试点|有效耗时156ms
测试结果8: 通过本测试点|有效耗时156ms
测试结果9: 通过本测试点|有效耗时156ms
测试结果10: 通过本测试点|有效耗时156ms
程序是:
program r196;
type jl=record
l,r:integer;
lt,rt:longint;
end;
var i,sum,p,n,t1,t2,t3:longint;
e:array [0..100] of jl;
vis:array [0..100] of boolean;
procedure ss(v:integer);
begin
vis[v] := true;
if v=p then begin
writeln(sum);
halt;
end;
if e[v].lt<=e[v].rt then begin
if (e[v].l<>-1)and(not vis[e[v].l]) then begin
inc(sum,e[v].lt);
ss(e[v].l);
inc(sum,e[v].lt);
end;
if (e[v].r<>-1)and(not vis[e[v].r]) then begin
inc(sum,e[v].rt);
ss(e[v].r);
inc(sum,e[v].rt);
end;
end
else begin
if (e[v].r<>-1)and(not vis[e[v].r]) then begin
inc(sum,e[v].rt);
ss(e[v].r);
inc(sum,e[v].rt);
end;
if (e[v].l<>-1)and(not vis[e[v].l]) then begin
inc(sum,e[v].lt);
ss(e[v].l);
inc(sum,e[v].lt);
end;
end;
end;
begin
readln(n,p);
fillchar(vis,sizeof(vis),false);
for i := 0 to 100 do begin
e[i].l := -1;
e[i].r := -1;
e[i].lt := maxlongint;
e[i].rt := maxlongint;
end;
for i := 2 to n do begin
readln(t1,t2,t3);
if e[t1].l=-1 then begin
e[t1].l := t2;
e[t1].lt := t3;
end
else begin
e[t1].r := t2;
e[t1].rt := t3;
end;
end;
sum := 0;
ss(0);
end.
program li;
var n,p,ans:longint;
a:array[0..101,0..100] of longint;
f:array[0..101] of boolean;
procedure init;
var x,y,i:longint;
begin
readln(n,p);
for i:=2 to n do
begin
read(x,y);
readln(a[x,y]); a[y,x]:=a[x,y];
end;
f[0]:=false; ans:=0;
for i:=1 to n do f[i]:=true;
end;
procedure digui(x:longint);
var i,j,min,xx:longint;
begin
if x=p then begin writeln(ans); halt; end;
min:=maxlongint; xx:=-1;
for i:=1 to n do
if (a[x,i]<min) and (a[x,i]<>0) and (f[i]) then
begin xx:=i; min:=a[x,i]; end;
if xx<>-1 then
begin f[xx]:=false; ans:=ans+a[x,xx]; digui(xx); end;
ans:=ans+a[x,xx];
if xx<>-1 then digui(x);
end;
begin
init;
digui(0);
end.