Loading [MathJax]/jax/output/HTML-CSS/jax.js


a577: C. 避難所
標籤 : 109學年度進階班下學期期末考
通過比率 : 6人/7人 ( 86% ) [非即時]
評分方式:
Tolerant

最近更新 : 2021-04-14 21:55

內容

n 個城市, m 條雙向道路,
其中有k個城市為避難所,代表如果有發生天災的話,每個城市的人都要前往避難所

假設每個城市x到離自己的最近的避難所距離稱為dis[x]
(若城市x本身為避難所則dis[x]=0)

而有些城市的人可能因為距離太遠,來不及到避難所逃生,因此會有額外的救援直升機,會進行r次救援

每次救援可以直接將一個城市x的人直接送到避難所,現在問你當經過最多r次救援後,沒被救援的城市中,

離最近的避難所最遠的城市距離最小的為多少,即求最小的max(dis[x]) 

 

 

 

 

    (此為範例測資原圖,粗線為避難所)

輸入說明

單筆測資

第一行有四個整數n,m,k,r

n(1n2105)

m(n1mmin(2105,n(n1)2))

k(1k<n)

r(0r<nk)

第二行有k個數字xi(1xin),代表k個避難所的編號,保證皆不重複

接下來的m行,每行有三個數字u,v,w(1u,vnuv1w106),代表點u與點v雙向連通,並且權重為w

 

 
subtask1 ( 7%) w=1,1n(nk)2105

subtask2 (35%) 1n(nk)2105

subtask3 (58%) 無額外限制

 

 

輸出說明

輸出經過r次救援後最小的max(dis[x]),x(1n) 

範例輸入
7 7 2 1
2 3
1 2 3
1 3 2
1 6 3
2 3 1
2 5 2 
3 4 3
6 7 1
範例輸出
5
測資資訊:
記憶體限制: 64 MB
不公開 測資點#0 (5%): 1.0s , <1M
不公開 測資點#1 (1%): 1.0s , <10M
不公開 測資點#2 (1%): 1.0s , <10M
不公開 測資點#3 (33%): 1.0s , <10M
不公開 測資點#4 (1%): 1.0s , <10M
不公開 測資點#5 (1%): 1.0s , <10M
不公開 測資點#6 (55%): 1.0s , <10M
不公開 測資點#7 (1%): 1.0s , <10M
不公開 測資點#8 (1%): 1.0s , <10M
不公開 測資點#9 (1%): 1.0s , <10M
提示 :

範例測試中,把救援直升機去救援城市7的人,剩下沒被救援的城市中最遠的是城市6,距離為5(3+2)

標籤:
109學年度進階班下學期期末考
出處:
[管理者:
fdhs105285 (jakao)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」