[蓝桥杯][历届试题]网络寻路(DFS)
題目描述
X 國(guó)的一個(gè)網(wǎng)絡(luò)使用若干條線路連接若干個(gè)節(jié)點(diǎn)。節(jié)點(diǎn)間的通信是雙向的。某重要數(shù)據(jù)包,為了安全起見(jiàn),必須恰好被轉(zhuǎn)發(fā)兩次到達(dá)目的地。該包可能在任意一個(gè)節(jié)點(diǎn)產(chǎn)生,我們需要知道該網(wǎng)絡(luò)中一共有多少種不同的轉(zhuǎn)發(fā)路徑。
源地址和目標(biāo)地址可以相同,但中間節(jié)點(diǎn)必須不同。
如下圖所示的網(wǎng)絡(luò)。
1 -> 2 -> 3 -> 1 是允許的
1 -> 2 -> 1 -> 2 或者 1 -> 2 -> 3 -> 2 都是非法的。
輸入
輸入數(shù)據(jù)的第一行為兩個(gè)整數(shù)N M,分別表示節(jié)點(diǎn)個(gè)數(shù)和連接線路的條數(shù)(1< =N< =10000; 0< =M< =100000)。
接下去有M行,每行為兩個(gè)整數(shù) u 和 v,表示節(jié)點(diǎn)u 和 v 聯(lián)通(1< =u,v< =N , u!=v)。
輸入數(shù)據(jù)保證任意兩點(diǎn)最多只有一條邊連接,并且沒(méi)有自己連自己的邊,即不存在重邊和自環(huán)。
輸出
輸出一個(gè)整數(shù),表示滿足要求的路徑條數(shù)。
樣例輸入
4 4
1 2
2 3
3 1
1 4
樣例輸出
10
思路:每一個(gè)點(diǎn)都搜一遍,尋找可能的結(jié)果。因?yàn)橹皇寝D(zhuǎn)兩次,所以數(shù)據(jù)量不是很大。
代碼如下:
努力加油a啊,(o)/~
總結(jié)
以上是生活随笔為你收集整理的[蓝桥杯][历届试题]网络寻路(DFS)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 问题 1437: [蓝桥杯][历届试题]
- 下一篇: Count Subrectangles