藍橋杯 試題 歷屆試題 危險係數 割點問題

2021-10-03 12:01:57 字數 1173 閱讀 3163

問題描述

給定n個點 m條邊, 起點和終點,

問:起點到終點中有幾個點是去掉這個點起點就無法到達終點的

樣例輸入76

1323

3435

4556

16樣例輸出

2

思路

記錄每條路徑, 將路徑上的點都加一,再統計路徑的總數,如果這個點的計數量與路徑總數相同,就代表每條路徑都要經過這個點,這個點就是滿足要求的乙個點。

**

#include

#include

#include

#include

#include

using

namespace std;

const

int n =

1010

, m =

4010

;int n, m, ans, st, en;

int e[m]

, ne[m]

, h[m]

, len;

bool vis[n]

;int v[n]

;vector<

int> path;

bool f =

false

;void

add(

int a,

int b)

void

dfs(

int x)

ans++

;return;}

for(

int i = h[x]

;~i; i = ne[i])}

return;}

intmain()

cin >> st >> en;

vis[st]

=true

;dfs

(st)

;int cnt =0;

for(

int i =

1; i <= n; i++)if

(f) cout << cnt << endl;

else

cout <<-1

<< endl;

return0;

}

藍橋杯 歷屆試題 dfs 割點 危險係數

開陣列要注意位置!因為評測環境的不同可能會出錯!在函式中定義的變數,在棧上建立,全域性定義的變數,在資料段上建立。由於你的陣列太大,會造成棧溢位,使得程式錯誤。堆疊據說是2m大小,而資料段要大很多,具體多大好像與系統環境相關。記錄s t路徑數ans 給所以經過的點計數,儲存在cnt中 cnt x a...

歷屆試題 危險係數 藍橋杯

問題描述 抗日戰爭時期,冀中平原的地道戰曾發揮重要作用。地道的多個站點間有通道連線,形成了龐大的網路。但也有隱患,當敵人發現了某個站點後,其它站點間可能因此會失去聯絡。我們來定義乙個危險係數df x,y 對於兩個站點x和y x y 如果能找到乙個站點z,當z被敵人破壞後,x和y不連通,那麼我們稱z為...

藍橋杯 歷屆試題 危險係數

歷屆試題 危險係數 問題描述 抗日戰爭時期,冀中平原的地道戰曾發揮重要作用。地道的多個站點間有通道連線,形成了龐大的網路。但也有隱患,當敵人發現了某個站點後,其它站點間可能因此會失去聯絡。我們來定義乙個危險係數df x,y 對於兩個站點x和y x y 如果能找到乙個站點z,當z被敵人破壞後,x和y不...