codevs 5971 打擊犯罪 x

2022-04-06 05:53:44 字數 1332 閱讀 4348

題目描述 description

某個地區有n(n<=1000)個犯罪團夥,當地**按照他們的危險程度由高到低給他們編號為1-n,他們有些團夥之間有直接聯絡,但是任意兩個團夥都可以通過直接或間接的方式聯絡,這樣這裡就形成了乙個龐大的犯罪集團,犯罪集團的危險程度唯一由集團內的犯罪團夥數量確定,而與單個犯罪團夥的危險程度無關(該犯罪集團的危險程度為n)。現在當地**希望花盡量少的時間(即打擊掉盡量少的團夥),使得龐大的犯罪集團分離成若干個較小的集團,並且他們中最大的乙個的危險程度不超過n/2。為達到最好的效果,他們將按順序打擊掉編號1到k的犯罪團夥,請程式設計求出k的最小值。

輸入描述 input description

第一行乙個正整數n。接下來的n行每行有若干個正整數,第乙個整數表示該行除第乙個外還有多少個整數,若第i行存在正整數k,表示i,k兩個團夥可以直接聯絡。

輸出描述 output description

乙個正整數,為k的最小值

樣例輸入 sample input

72 2 5

3 1 3 4

2 2 4

2 2 3

3 1 6 7

2 5 7

2 5 6

樣例輸出

sample output

資料範圍及提示

data size & hint

n<=1000

輸出1(打擊掉紅色團夥)

分類標籤#br

1 #include2 #include3 #include4

#define maxn 1010056

using

namespace

std;78

intn,t,r1,r2;

9int

f[maxn],group[maxn];

10int

gx[maxn][maxn];

11bool

qwq;

1213

int find(int

x)14

1718

void

in()

1927

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

2837}38

39}4041

void

qaq()

4252

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

5356

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

57if(group[h]>t)

5861

if(qwq==1)62

66}67}

6869

intmain()

70

codevs5971 打擊犯罪

題目描述 description 某個地區有n n 1000 個犯罪團夥,當地 按照他們的危險程度由高到低給他們編號為1 n,他們有些團夥之間有直接聯絡,但是任意兩個團夥都可以通過直接或間接的方式聯絡,這樣這裡就形成了乙個龐大的犯罪集團,犯罪集團的危險程度唯一由集團內的犯罪團夥數量確定,而與單個犯罪...

codevs 5971 打擊犯罪

某個地區有n n 1000 個犯罪團夥,當地 按照他們的危險程度由高到低給他們編號為1 n,他們有些團夥之間有直接聯絡,但是任意兩個團夥都可以通過直接或間接的方式聯絡,這樣這裡就形成了乙個龐大的犯罪集團,犯罪集團的危險程度唯一由集團內的犯罪團夥數量確定,而與單個犯罪團夥的危險程度無關 該犯罪集團的危...

9011 打擊犯罪

time limit 1 second memory limit 128 mb 某個地區有n n 1000 個犯罪團夥,當地 按照他們的危險程度由高到低給他們編號為1 n,他們有些團夥之間有直接聯絡,但是任意兩個團夥都可以通過直接或者間接的方式聯絡,這樣這裡就形成了乙個龐大的犯罪集團,犯罪集團的危險...