NOIP2010衝刺十三 逃離遺跡

2022-02-15 15:27:56 字數 1191 閱讀 5369

根據外星人的回信,在遺跡分布著三樣道具。當三樣道具都拿走後,遺跡就很快自動毀滅,所以必須要在最短時間內離開。遺跡可以看作是由n個房間(編號1..n)和n-l條長度不等通道所組成,並且任意兩個房間之間有且只有一條路可以相互到達。現在我們的隊員已經在編號為a,b,c的房間內拿到道具,並且準備撤退。由於只有一架***,所以只能在乙個房間上停留。現在請你決定將***停在哪乙個房間之上,能夠使三人到達該房間的距離之和最短。

第1行:四個整數n、a、b、c。

第2..n行:每行三個整數u,v,w,表示存在連線房間u,v的通道,長度w。

第1行:乙個整數,表示匯合房間的編號。若存在多個解,輸出字典序最小的。

第2行:乙個整數,表示三人到該房間距離之和。

5 3 1 4

3 5 5

4 3 9

4 1 7

1 2 1

4

16

對於50%的資料:1≤n≤1,000。 

對於100%的資料:1≤n≤20,000。 1≤a,b,c,u,v<=n且a,b,c不相等;u,v不相等。 1≤w≤1,000。

三遍spfa

0.000s

rank1毫無壓力

1 #include 2 #include 3 #include 4 

5 const int maxn=20010;

6 const int inf=0x3f3f3f3f;

7 8 int n,s1,s2,s3;

9 10 int dis[maxn],dis2[maxn],dis3[maxn];

11 12 bool vis[maxn];

13 14 struct node ;

19 node e[maxn<<1];

20 21 int head[maxn],tot;

22 23 inline void read(int&x)

29 30 inline void add(int x,int y,int v)

36 37 void spfa(int s,int*a)

51 }

52 }

53 return;

54 }

55 56 int hh()

73 74 int sb=hh();

75 int main()

**

noip2010 關押罪犯

s 城現有兩座監獄,一共關押著n 名罪犯,編號分別為1 n。他們之間的關係自然也極 不和諧。很多罪犯之間甚至積怨已久,如果客觀條件具備則隨時可能爆發衝突。我們用 怨 氣值 乙個正整數值 來表示某兩名罪犯之間的仇恨程度,怨氣值越大,則這兩名罪犯之 間的積怨越多。如果兩名怨氣值為c 的罪犯被關押在同一監...

NOIP2010關押罪犯

s 城現有兩座監獄,一共關押著n 名罪犯,編號分別為1 n。他們之間的關係自然也極不和諧。很多罪犯之間甚至積怨已久,如果客觀條件具備則隨時可能爆發衝突。我們用 怨氣值 乙個正整數值 來表示某兩名罪犯之間的仇恨程度,怨氣值越大,則這兩名罪犯之間的積怨越多。如果兩名怨氣值為c 的罪犯被關押在同一監獄,他...

NOIP2010解題報告

t1 機器翻譯 t2 烏龜棋 t3 關押罪犯 t4 引水入城 題解 一套不算太難的noip題目。第一題直接暴力模擬佇列的工作即可。include include include include include include using namespace std intq 10100 int in...