HAOI2005 路由問題,第二短路

2021-09-22 09:43:53 字數 1220 閱讀 7093

【問題描寫敘述】

x城有乙個含有n個節點的通訊網路,在通訊中,我們往往關心資訊從乙個節點i傳輸到節點j的最短路徑。遺憾的是。因為種種原因,線路中總有一些節點會出故障,因此在傳輸中要避開故障節點。

任務一:在己知故障節點的情況下。求避開這些故障節點。從節點i到節點j的最短路徑s0。

任務二:在不考慮故障節點的情況下。求從節點i到節點j的最短路徑s1、第二最短路徑s2。

【輸入檔案】

第1行: n i j (節點個數 起始節點 目標節點)

第2—n+1行: sk1 sk2…skn (節點k到節點j的距離為skj k=1,2,……。n)

最後一行: p t1 t2……tp (故障節點的個數及編號)

【輸出檔案】

s0 s1 s2 (s1<=s2 從節點i到節點j至少有兩條不同路徑)

【輸入輸出例子】

lyxzwt.in

5 1 5

0 10 5 0 0

10 0 0 6 20

5 0 0 30 35

0 6 30 0 6

0 20 35 6 0

1 2lyxzwt.out

40 22 30

【約束條件】

(1)n<=50 n個節點的編號為1。2,…,n

(2)skj為整數。skj<=100,(k,j=1,2…,n 若skj=0表示節點k到節點j沒線路)

(3)p<=5

求出記錄最短路的一條路徑。然後刪邊求次短路。

#include #include #include #include using namespace std;

const int maxn = 100;

const int inf = 1e9;

int g[maxn][maxn];

int d[maxn], pre[maxn], p[maxn], p, n, s, t;

int path[maxn][2], e;

bool vis[maxn];

void init()}}

scanf("%d", &p);

for(int i=1; i<=n; ++i) scanf("%d", &p[i]);

}int dijkstra()

}return d[t];

}void solve()

s2 = inf;

for(int i=0; i

HAOI2005 路由問題,第二短路

問題描寫敘述 x城有乙個含有n個節點的通訊網路,在通訊中,我們往往關心資訊從乙個節點i傳輸到節點j的最短路徑。遺憾的是。因為種種原因,線路中總有一些節點會出故障,因此在傳輸中要避開故障節點。任務一 在己知故障節點的情況下。求避開這些故障節點。從節點i到節點j的最短路徑s0。任務二 在不考慮故障節點的...

Angular2 路由問題修復 求解

angular2 提供了比angular1 更為強大的路由功能,但是在具體使用路由過程中,可是出現了很多路由不按照預想的方式執行的問題。為了說明今天的問題,我特地新建了乙個測試工程。歡迎交流。首先介紹一下測試 的組織結構,其中包含兩個元件 button accordion。這個例子採用的是ng2 b...

某學院IPV6路由不通問題總結

一 組網描述 二 故障現象 1.學院老師反映,實訓室裡面的電腦無法通過ipv6訪問7503核心交換機下面的伺服器。三 處理過程 1.首先,經排查發現,實訓室裡面的電腦可以ping通路由器的ipv6位址,7503核心交換機下面的伺服器也ping不通路由器的ipv6位址。2.然後,發現7503沒有到路由...