一个粉色嘴唇是什么牌子的化妆品,美国的
答案:3 悬赏:50 手机版
解决时间 2021-06-03 04:07
- 提问者网友:niaiwoma
- 2021-06-02 20:41
知道的朋友 可否告知一下具体情况?急!!!
最佳答案
- 五星知识达人网友:街头电车
- 2021-06-02 21:34
你应该把上面的英文打出来,还好找点~~~~~
全部回答
- 1楼网友:荒野風
- 2021-06-03 00:07
以前就听过butter的大名了,测试最短路专用……看了发现这题确实超适合测试最短路。同时也证明了SPFA的强大……(开始我认为它是不能过的= =那当然也没别的东西好过了吧)
开始进队以后没标记,竟然也过了6个点,好不容易发现了又WA了= =数组开小了……c是2900哎……我是沙茶……
{
ID:ganyue1
TASK:butter
LANG:PASCAL
}
var
q:array[1..800000]of longint;
inq:array[1..800]of boolean;
a,b,w:array[0..2900]of longint;
cow,fst,num:array[1..800]of longint;
dis:array[1..800]of longint;
n,v,c,x,t,ans,i,j,head,tail:longint;
procedure qsort(l,r:longint);
var
i,j,mid,t:longint;
begin
i:=l; j:=r; mid:=a[random(r-l)+l];
repeat
while a[i]<mid do inc(i);
while a[j]>mid do dec(j);
if i<=j then begin
t:=a[i]; a[i]:=a[j]; a[j]:=t;
t:=b[i]; b[i]:=b[j]; b[j]:=t;
t:=w[i]; w[i]:=w[j]; w[j]:=t;
inc(i); dec(j);
end;
until i>j;
if i<r then qsort(i,r);
if l<j then qsort(l,j);
end;
begin
assign(input,'butter.in');reset(input);
assign(output,'butter.out');rewrite(output);
read(n,v,c);
for i:=1 to n do begin
readln(t);
inc(cow[t]);
end;
for i:=1 to c do begin
read(a[i],b[i],w[i]);
a[c+i]:=b[i];
b[c+i]:=a[i];
w[c+i]:=w[i];
end;
c:=c << 1;
qsort(1,c);
fst[a[1]]:=1; num[a[1]]:=1;
for i:=2 to c do begin
if a[i]<>a[i-1] then
fst[a[i]]:=i;
inc(num[a[i]]);
end;
ans:=maxlongint;
for i:=1 to v do begin
fillchar(inq,sizeof(inq),false);
for j:=1 to v do dis[j]:=maxlongint;
dis[i]:=0;
head:=1; tail:=1;
q[1]:=i;
while head<=tail do begin
x:=q[head]; inc(head); inq[x]:=false;
for j:=fst[x] to fst[x]+num[x]-1 do begin
t:=dis[x]+w[j];
if t<dis[b[j]] then begin
dis[b[j]]:=t;
if not inq[b[j]] then begin
inc(tail);
q[tail]:=b[j];
inq[b[j]]:=true;
end;
end;
end;
end;
x:=0;
for j:=1 to v do
x:=x+cow[j]*dis[j];
if x<ans then ans:=x;
end;
writeln(ans);
close(input);close(output);
end.
- 2楼网友:青尢
- 2021-06-02 22:52
应该把上面的英文打出来,还好找点
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯