系統警告,Bronya請求支援 兩遍最短路

2021-10-04 12:21:04 字數 3331 閱讀 6594

系統警告,bronya請求支援

description

休伯利安號的一行人來到了由逆熵鎮守的前文明遺跡[海淵城],他們準備用巨大的傳送裝置[海淵之眼]進入量子之海,尋找丟失的渴望寶石。然而在行動前夜愛因斯坦卻遭到神秘人的襲擊,下落不明,而海淵之眼也發生了原因不明的暴走。為了找回渴望寶石,布洛妮婭在一片混亂中,隻身一人跳入了量子之海。布洛妮婭在經受認知迴廊的考驗之後,得到了逆熵盟主瓦爾特的幫助,並拿到了理之律者核心,然而就在這時,布洛妮婭接收到強烈的崩壞能警報,資料顯示渴望寶石受到理之律者核心的激發變得極不穩定,會在x秒後爆發出強烈的崩壞能脈衝,布洛妮婭已經沒有時間了,必須馬上出發,「 重灌小兔19c,ride on!」。

量子之海由n個地點組成,編號1−n1 - n1−

n,這些地點由mm

m條雙向道路連線,保證任意兩個地點連通,在t=0t=0t=

0時刻布洛妮婭在11

1號地點,渴望寶石在量子之海的最深處nn

n號地點。布洛妮婭從乙個地點沿著一條道路到達另乙個地點需要11

1秒時間(當然布洛妮婭可以選擇不移動),渴望寶石會在t=xt=xt=

x時刻爆發,爆發只會持續一瞬間,但布洛妮婭無法承受如此強烈的崩壞能爆發,幸運的是在量子之海中有kk

k個地點是安全的,能夠躲避崩壞能的侵蝕,也就是說t=xt=xt=

x時刻布洛妮婭必須待在其中乙個安全地點裡,等待爆發過後才能繼續前往nn

n號地點取回渴望寶石。(如果布洛妮婭能夠在t≤xt \leq xt≤

x時取回渴望寶石,就不會爆發)布洛妮婭必須盡快完成任務,但是她的生物晶元被燒毀了,無法計算出最少需要花費多少時間,因此她向艦長您請求幫助,請告訴布洛妮婭她最少需要花費多少時間才能取回渴望寶石。

input

第一行三個整數n,m,xn,m,xn,

m,x表示地點的數量,道路的數量,爆發的時間

接下來mm

m行,每行兩個整數a,ba,ba,

b,表示aa

a和bb

b之間有一條雙向道路連線。

接下來一行乙個整數kk

k,表示安全地點的數量

接著kk

k行,每行乙個整數kik_iki

​,表示kik_iki

​是安全地點

2≤n≤1e5, n−1≤m≤1e5,0≤x≤100,0≤k≤100,1≤ki ≤n2 \leq n \leq 1e5,  n-1 \leq m \leq1e5, 0 \leq x \leq 100,0 \leq k \leq 100,1 \leq k_i  \leq n2≤

n≤1e

5,n−

1≤m≤

1e5,

0≤x≤

100,

0≤k≤

100,

1≤ki

​≤n;

output

如果布洛妮婭能夠取回渴望寶石,輸出最少需要花費多少時間,否則輸出" -1 "。

//真的很想在output裡面加中文,但好像判題機不允許   (´-ωก`)。

sample input 1

4 4 0

1 21 3

2 43 4

12

sample output 1

-1
sample input 2

4 4 1

1 21 3

2 43 4

12

sample output 2

2
sample input 3

4 4 5

1 21 3

2 43 4

12

sample output 3

2
hint

對於第乙個樣例,布洛妮婭無法在爆發前到達安全地點,因此任務失敗。

對於第二個樣例,布洛妮婭在t=1t=1t=

1時必須待在22

2號地點躲避崩壞能爆發。

對於第三個樣例,布洛妮婭可以在x秒內取回渴望寶石,因此崩壞能不會爆發,答案是222s。

source

休伯利安號退伍艦長chter 指揮官編號:19470572

分別以起點s、終點e 跑一遍最短路,首先看能否在規定時間內從s 到 e點,如果能到話直接輸出時間,否則要現到躲避處,躲避t 秒,之後在從躲避點到達e點(這個路程所話多時間正用上了我們 終點e起點逆向跑最短路的這個過程)

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

const

int len =

1e6;

const

int inf =

1e9+10;

struct edge

edge[len]

;int head[

2*len]

;int k =0;

int n,m,t;

int pos[len]

;void

add(

int u,

int v,

int w)

; head[u]

= k;

}void

init()

int dis1[len]

, dis2[len]

;void

spfa

(int s,

int dis)

;for

(int i =

1; i <= n; i ++

) dis[i]

= inf;

dis[s]=0

; queue<

int> q;

q.push

(s);

int u,v;

while

(! q.

empty()

)}}}

}int

main()

int cnt;

scanf

("%d"

,&cnt)

;for

(int i =

1; i <= cnt; i ++

)scanf

("%d"

,&pos[i]);

spfa(1

, dis1)

;spfa

(n, dis2);if

(dis1[n]

<= t)

else

return0;

}

Nginx 請求靜態資源警告型別錯誤

今天專案在上線的時候,遇到乙個 bug,前端頁面在請求 css 靜態資源的時候,提示警告檔案型別為 text plain。而我們需要的是 text css 格式的檔案,導致頁面 css 載入不出來。在網上各種搜尋以後,大致都是這種辦法 在 nginx 配置檔案中新增以下兩行 include mime...

請求介面支援HTTPS

nsstring cerpath nsbundle mainbundle pathforresource 證書名稱 oftype cer nsdata cerdata nsdata datawithcontentsoffile cerpath nsset cerset nsset alloc ini...

模擬http請求,支援gzip,chunked格式

模擬http請求,支援gzip,chunked格式 rains的日誌 phpchina 已有 1215 次閱讀 2009 3 2 14 06 0 模擬http請求,支援gzip,chunked格式 只有chunked才要分段處理 if strpos head,chunk else else 經過n次...