铲雪车问题描述大雪履盖了整个城市,市政府要求冬季服务部门尽快将一些街道(列在一份清单中)的积雪清除掉以恢复交通,整个城市
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 17:13:09
铲雪车问题
描述
大雪履盖了整个城市,市政府要求冬季服务部门尽快将一些街道(列在一份清单中)的积雪清除掉以恢复交通,整个城市由许多交叉路口和街道构成,当然任意两个交叉路口都是直接或间接连通的,清单给出了最少的街道,使得这些街道的积雪清除后任意两个交叉路口之间有且仅有一条通路,冬季服务部门只有一辆铲雪车及一名司机,这辆铲雪车的出发点位于某个交叉路口.
无论街道上有没有积雪,铲雪车每前进一米都要消耗一升燃料,冬季服务部门要求司机在铲除清单上的所有街道的积雪的前提下,要求消耗燃料最少,积雪铲完后车可以停在任意的交叉路口.
输入
第一行包含两个整数N和S,1≤N≤100000,1≤S≤N.N为交叉路口的总数;S为铲雪车出发的路口序号.路口的标号为1?N.
接下来的N-1行为清单上的街道,每一行包含三个用空格隔开的整数A、B、C,表示一条从交叉路口A到交叉路口B的街道,C为该街道的长度,单位为米,1≤C≤1000.
输出
仅一行包含一个整数表示清除所有积雪所需的最少的燃料数量.
样例输入
5 1
1 2 8
1 3 10
3 4 10
4 5 7
样例输出
43
哪位网友能提供标程(pascal),急用!
描述
大雪履盖了整个城市,市政府要求冬季服务部门尽快将一些街道(列在一份清单中)的积雪清除掉以恢复交通,整个城市由许多交叉路口和街道构成,当然任意两个交叉路口都是直接或间接连通的,清单给出了最少的街道,使得这些街道的积雪清除后任意两个交叉路口之间有且仅有一条通路,冬季服务部门只有一辆铲雪车及一名司机,这辆铲雪车的出发点位于某个交叉路口.
无论街道上有没有积雪,铲雪车每前进一米都要消耗一升燃料,冬季服务部门要求司机在铲除清单上的所有街道的积雪的前提下,要求消耗燃料最少,积雪铲完后车可以停在任意的交叉路口.
输入
第一行包含两个整数N和S,1≤N≤100000,1≤S≤N.N为交叉路口的总数;S为铲雪车出发的路口序号.路口的标号为1?N.
接下来的N-1行为清单上的街道,每一行包含三个用空格隔开的整数A、B、C,表示一条从交叉路口A到交叉路口B的街道,C为该街道的长度,单位为米,1≤C≤1000.
输出
仅一行包含一个整数表示清除所有积雪所需的最少的燃料数量.
样例输入
5 1
1 2 8
1 3 10
3 4 10
4 5 7
样例输出
43
哪位网友能提供标程(pascal),急用!
program one;
const maxn = 100000;
maxv = (maxn-1)*2;
type vtype=record
b,c,p:longint;
end;
var n,s,i,a,b,c,total:longint;
v:array[1..maxv] of vtype;
lista:array[1..maxn] of longint;
p:array[1..maxn] of boolean;
procedure initfile;
begin
assign(input,'one.in');
reset(input);
assign(output,'one.out');
rewrite(output);
end;
procedure closefile;
begin
close(input);
close(output);
end;
function search(x : longint) : longint;
var d, max : longint;
y : longint;
begin
p[x]:=true;
y:=lista[x];
max:=0;
while y0 do
begin
if not(p[v[y].b]) then
d:=v[y].c+search(v[y].b)
else
d:=0;
if d>max then max:=d;
y:=v[y].p;
end;
search:=max;
end;
begin
initfile;
readln(n,s);
total := 0;
for i:=1 to n do lista[i]:=0;
for i:=1 to n-1 do
begin
readln(a,b,c);
total:=total+c;
v[i*2-1].b:=b;
v[i*2-1].c:=c;
v[i*2-1].p:=lista[a];
lista[a]:=i*2-1;
v[i*2].b:=a;
v[i*2].c:=c;
v[i*2].p:=lista[b];
lista[b]:=i*2;
end;
for i:=1 to n do p[i]:=false;
total:=total*2-search(s);
writeln(total);
closefile;
end.
const maxn = 100000;
maxv = (maxn-1)*2;
type vtype=record
b,c,p:longint;
end;
var n,s,i,a,b,c,total:longint;
v:array[1..maxv] of vtype;
lista:array[1..maxn] of longint;
p:array[1..maxn] of boolean;
procedure initfile;
begin
assign(input,'one.in');
reset(input);
assign(output,'one.out');
rewrite(output);
end;
procedure closefile;
begin
close(input);
close(output);
end;
function search(x : longint) : longint;
var d, max : longint;
y : longint;
begin
p[x]:=true;
y:=lista[x];
max:=0;
while y0 do
begin
if not(p[v[y].b]) then
d:=v[y].c+search(v[y].b)
else
d:=0;
if d>max then max:=d;
y:=v[y].p;
end;
search:=max;
end;
begin
initfile;
readln(n,s);
total := 0;
for i:=1 to n do lista[i]:=0;
for i:=1 to n-1 do
begin
readln(a,b,c);
total:=total+c;
v[i*2-1].b:=b;
v[i*2-1].c:=c;
v[i*2-1].p:=lista[a];
lista[a]:=i*2-1;
v[i*2].b:=a;
v[i*2].c:=c;
v[i*2].p:=lista[b];
lista[b]:=i*2;
end;
for i:=1 to n do p[i]:=false;
total:=total*2-search(s);
writeln(total);
closefile;
end.
铲雪车问题描述大雪履盖了整个城市,市政府要求冬季服务部门尽快将一些街道(列在一份清单中)的积雪清除掉以恢复交通,整个城市
数学题我市今年普降大雪调动甲乙两种型号清雪车清理主干道132公里的道路积雪,已知2台甲型和一台乙型清雪车每天可清理30公
英语翻译在那次地震中,很多人被活埋了,整个城市也被掩埋
夜深了整个城市安静了.(改为拟人句)?
整个城市已经睡熟了改为陈述句
整个城市已经熟了改成陈述句
夜深了,(用静组词)笼罩着整个城市.这是一条()的林荫小路.
魔方公式中遇到的问题在魔方公式PLL中有:x(整个魔方以R的方向转动)y(整个魔方以U的方向转动)z(整个魔方以F的方向
《中华人民共和国道路交通管理条例》规定:“小汽车在城市街道上的行驶速度不得超过70km/h”,一辆小汽车在一条城市街道上
《中华人民共和国道路交通管理条例》规定:“小汽车在城市街道上的行驶速度不得超过70千米/时”.一辆小汽车在一条城市街道
(2013•洛阳一模)合肥市在创建交通模范城市的过程中,采取了一些措施,为市民在 交通上提供优质服务.如(1)
英语翻译原文:北京交通发达,是中国最大的铁路、公路及航空交通中心,也是乃至整个东亚地区的重要交通枢纽,城市交通网比较完善