codevs 5969 AK 燒錄光碟x

2022-04-06 06:14:16 字數 4254 閱讀 5159

題目描述 description

• 在fjoi2010夏令營快要結束的時候,很多營員提出來要把整個夏令營期間的資料燒錄成一張光碟給大家,以便大家回去後繼續學習。組委會覺得這個主意不錯!可是組委會一時沒有足夠的空光碟,沒法保證每個人都能拿到燒錄上資料的光碟,怎麼辦呢?! •  dyj分析了一下所有營員的地域關係,發現有些營員是乙個城市的,其實他們只需要一張就可以了,因為乙個人拿到光碟後,其他人可以帶著u盤之類的東西去拷貝啊! •  他們願意某一些人到他那兒拷貝資料,當然也可能不願意讓另外一些人到他那兒拷貝資料,這與我們fjoi宣揚的團隊合作精神格格不入!!! •  現在假設總共有n個營員(2<=n<=200),每個營員的編號為1~n。dyj給每個人發了一張調查表,讓每個營員填上自己願意讓哪些人到他那兒拷貝資料。當然,如果a願意把資料拷貝給b,而b又願意把資料拷貝給c,則一旦a獲得了資料,則b,c都會獲得資料。 •  現在,請你編寫乙個程式,根據**上來的調查表,幫助dyj計算出組委會至少要燒錄多少張光碟,才能保證所有營員回去後都能得到夏令營資料?

輸入描述 input description

先是乙個數n,接下來的n行,分別表示各個營員願意把自己獲得的資料拷貝給其他哪些營員。即輸入資料的第i+1行表示第i個營員願意把資料拷貝給那些營員的編號,以乙個0結束。如果乙個營員不願意拷貝資料給任何人,則相應的行只有10,一行中的若干數之間用乙個空格隔開。

輸出描述 output description

乙個正整數,表示最少要燒錄的光碟數。

樣例輸入 sample input

5

2 4 3 0

4 5 0

0

0

1 0

樣例輸出 sample output

1

資料範圍及提示 data size & hint

2<=n<=200

分類標籤 tags 點此展開 

見過因為換行符而引發的血案嗎???????

資料:

測試點#cdrom1.in結果:ac 記憶體使用量: 256kb 時間使用量: 0ms

測試點#cdrom2.in結果:ac 記憶體使用量: 256kb 時間使用量: 0ms

測試點#cdrom3.in結果:ac 記憶體使用量: 256kb 時間使用量: 1ms

測試點#cdrom4.in結果:ac 記憶體使用量: 256kb 時間使用量: 0ms

測試點#cdrom5.in結果:ac 記憶體使用量: 128kb 時間使用量: 1ms

測試點#cdrom6.in結果:wa 記憶體使用量: 256kb 時間使用量: 1ms

測試點#cdrom7.in結果:ac 記憶體使用量: 256kb 時間使用量: 0ms

測試點#cdrom8.in結果:ac 記憶體使用量: 256kb 時間使用量: 0ms

測試點#cdrom9.in結果:ac 記憶體使用量: 256kb 時間使用量: 1ms

測試點#cdrom10.in結果:ac 記憶體使用量: 256kb 時間使用量: 1ms

**:

1 #include2

#define maxn 201

3using

namespace

std;

4int note[maxn],tot=0;5

6int

main()720

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

22if(note[i]==0

) 23 tot++;//

記錄沒有出現過的

24if(tot==0

)25 tot++;//

如果都可以通過別人得到,那麼就說明只給乙個人就行

26 printf("

%d\n

",tot);

27return0;

28 }

ac資料:

測試點#cdrom1.in結果:ac 記憶體使用量: 256kb 時間使用量: 0ms

測試點#cdrom2.in結果:ac 記憶體使用量: 256kb 時間使用量: 0ms

測試點#cdrom3.in結果:ac 記憶體使用量: 256kb 時間使用量: 0ms

測試點#cdrom4.in結果:ac 記憶體使用量: 256kb 時間使用量: 0ms

測試點#cdrom5.in結果:ac 記憶體使用量: 256kb 時間使用量: 0ms

測試點#cdrom6.in結果:ac 記憶體使用量: 256kb 時間使用量: 1ms

測試點#cdrom7.in結果:ac 記憶體使用量: 256kb 時間使用量: 1ms

測試點#cdrom8.in結果:ac 記憶體使用量: 256kb 時間使用量: 0ms

測試點#cdrom9.in結果:ac 記憶體使用量: 256kb 時間使用量: 0ms

測試點#cdrom10.in結果:ac 記憶體使用量: 128kb 時間使用量: 1ms     

**:

1 #include2

#define maxn 20134

using

namespace

std;56

int note[maxn],tot=0;7

8int

main()920

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

22if(note[i]==0

) 23 tot++;//

記錄沒有出現過的

24if(tot==0

)25 tot++;//

如果都可以通過別人得到,那麼就說明只給乙個人就行

26 printf("%d"

,tot);

27return0;

28 }

5969 AK 燒錄光碟

題目描述 description 在fjoi2010夏令營快要結束的時候,很多營員提出來要把整個夏令營期間的資料燒錄成一張光碟給大家,以便大家回去後繼續學習。組委會覺得這個主意不錯!可是組委會一時沒有足夠的空光碟,沒法保證每個人都能拿到燒錄上資料的光碟,怎麼辦呢?dyj分析了一下所有營員的地域關係,...

hdu5969 動態規劃(遞推)

題意 中文 思路 定義dp i 為第i列埋的地雷數,num i 為第i個格仔上面標著的數字。所以有dp i num i 1 dp i 2 dp i 1 當有三個連續的列時 dp i num i 1 dp i 1 當此時為第一列。定義好了以後,還有乙個關鍵的地方在於 如果一列的地雷數為0或2,則這一列...

HDU 5969 最大的位或

開始這道題一直想著直接位運算去遍歷,排除情況,但資料量還是很大,後來把兩個數二進位制所有位都分別放在兩個bool型陣列裡,就簡單多了,只需要考慮輸入的那兩個數從哪一位開始出現不同,小數也就是下界,其到上界之內一定會出現與下界位數相等並所有位數全1的數,所以以上界數為基礎,存在乙個數使它一段字尾或運算...