2013 危險迷宮

2021-10-05 05:46:34 字數 1081 閱讀 3379

問題描述

抗日戰爭時期,冀中平原的地道戰曾發揮重要作用。

地道的多個站點間有通道連線,形成了龐大的網路。但也有隱患,當敵人發現了某個站點後,其它站點間可能因此會失去聯絡。

我們來定義乙個危險係數df(x,y):

對於兩個站點x和y (x != y), 如果能找到乙個站點z,當z被敵人破壞後,x和y不連通,那麼我們稱z為關於x,y的關鍵點。相應的,對於任意一對站點x和y,危險係數df(x,y)就表示為這兩點之間的關鍵點個數。

本題的任務是:已知網路結構,求兩站點之間的危險係數。

解題思路:

首先畫圖,根據題解資訊,畫出連通圖

找到到達目標點的所有路徑

記錄路徑上的所有點

路徑數 = 經過點的次數 即為關鍵點

#include #include #include using namespace std;

vectorvec[1005];

int vis[1005]; //標記點是否走過

int pass[1005]; //記錄這一點走過的次數

int count = 0; //記錄關鍵點的個數

int load = 0; //成功到達的路徑數

int v , u; //起點,終點

int n , m;

void dfs(int x)

load++;

vis[x] = 0;

return;

} for(int i=0;i> n >> m;

int a,b;

for(int i=0;i> a>>b;

vec[a].push_back(b); //表示a和b聯通,與a站點聯通的點存入

vec[b].push_back(a); //無向圖,雙向聯通

} cin >> u >> v;

dfs(u);

for(int i=1;i<=n;i++)

} if(load == 0) cout << "-1" << endl;

else cout << count << endl;

return 0;

}

藍橋杯 2023年第四屆真題 危險係數

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

藍橋杯 2023年第四屆真題 危險係數

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

指標的危險

指標的危險 下面的 有沒有問題?如果有的話,問題在 intarray array size int pi for pi array 0 pi array array size 有兩個錯誤。對增值後的指標進行解引用時,陣列的第乙個元素並沒有被清零。另外,指標在越過陣列的右邊界以後仍然進行解引用,它將把...