題目大意
主要思路
首先在讀入兩條道路通路時用並查集計算出有多少個連通塊,
然後記錄下來,接下來再讀入每乙個失去的國家,每讀入乙個計算一下當前連通塊的個數,當當前連通塊的個數比上一次的連通塊個數多一或者不變時,說明沒有改變連通性,否則改變連通性發出紅色警報
ac**
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
#define x first
#define y second
const
int n =
510, m =
5010
;int p[n]
, n, m, k;
bool st[n]
;pair<
int,
int> pa[m]
;void
init()
intcount()
return cnt;
}int
find
(int x)
intmain
(void)}
int cnt =
count()
; cin >> k;
for(
int i =
0; i < k; i++)}
int cnt1 =
count()
;if(cnt1 > cnt +1)
printf
("red alert: city %d is lost!\n"
, t)
;else
printf
("city %d is lost.\n"
, t)
; cnt = cnt1;}if
(k == n)
return0;
}
L2 013 紅色警報
戰爭中保持各個城市間的連通性非常重要。本題要求你編寫乙個報警程式,當失去乙個城市導致國家被 為多個無法連通的區域時,就發出紅色警報。注意 若該國本來就不完全連通,是 的k個區域,而失去乙個城市並不改變其他城市之間的連通性,則不要發出警報。輸入在第一行給出兩個整數n 0 n 500 和m 5000 分...
L2 013 紅色警報
時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 戰爭中保持各個城市間的連通性非常重要。本題要求你編寫乙個報警程式,當失去乙個城市導致國家被 為多個無法連通的區域時,就發出紅色警報。注意 若該國本來就不完全連通,是 的k個區域,而失...
L2 013 紅色警報
戰爭中保持各個城市間的連通性非常重要。本題要求你編寫乙個報警程式,當失去乙個城市導致國家被 為多個無法連通的區域時,就發出紅色警報。注意 若該國本來就不完全連通,是 的k個區域,而失去乙個城市並不改變其他城市之間的連通性,則不要發出警報。輸入格式 輸入在第一行給出兩個整數n 0 n 500 和m 5...