pta l2 13(紅色警報)

2022-08-21 19:36:12 字數 552 閱讀 2033

題意:給n個頂點,m條邊,問每次刪除乙個點會不會破壞圖的連通性。

思路:用dfs/bfs求圖的連通分量個數,每次求出刪除點之前和之後的連通分量數cnt、cnt1,若cnt1>cnt+1,則破壞了連通性;否則就沒有破壞連通性。

ac**:

1 #include2

using

namespace

std;34

intn,m,k,t1,t2,cnt,cnt1;

5int a[505][505],vis[505

];6 queueq;78

void bfs(int

p)18}19

}2021int

getc()

30return

res;31}

3233

intmain()

39 cnt=getc();

40 scanf("

%d",&k);

41for(int i=1;i<=k;++i)

54return0;

55 }

PTA L2 013 紅色警報 25分

傳送門 這道題,並查集。判斷有多少個連通的區域,其實就是並查集的操作中判斷有多少個根節點。就是統計根節點的操作cnt。我們最開始應該儲存每一條連通的邊。在後面的攻占城市中,我們只需要不處理那些攻占城市連通的邊即可。用vis記錄。其他的繼續重新使用並查集合並操作,進而統計有多少個根節點sum。判斷兩個...

7 9 紅色警報

輸入在第一行給出兩個整數n 0 n 500 和m 5000 分別為城市個數 於是預設城市從0到n 1編號 和連線兩城市的通路條數。隨後m行,每行給出一條通路所連線的兩個城市的編號,其間以1個空格分隔。在城市資訊之後給出被攻占的資訊,即乙個正整數k和隨後的k個被攻占的城市的編號。注意 輸入保證給出的被...

紅色警報(25分)

戰爭中保持各個城市間的連通性非常重要。本題要求你編寫乙個報警程式,當失去乙個城市導致國家被 為多個無法連通的區域時,就發出紅色警報。注意 若該國本來就不完全連通,是 的k個區域,而失去乙個城市並不改變其他城市之間的連通性,則不要發出警報。輸入在第一行給出兩個整數n 0 n 500 和m 5000 分...