馬孔多反情報機構,簡稱 ACM,希望通過一個簡單但高度準確的程序來評估其線人的品質,以此來測試其線人的品質。 ACM 通過調查線人之間的信心來確定一組線人的信心:線人斷言他們對其他人,甚至是自己的特定意見。作為調查的結果,ACM 收集了一系列斷言,形式為“X 說 Y 是可靠的”或“X 說 Y 不可靠”。如果 X 是可靠的,ACM 假設他或她說的任何話都可以被解釋為真實的。否則,如果 X 不可靠,他或她的意見可能是真實的,也可能是虛假的。最終,ACM 通過確定根據調查結果可能是可靠的線人的最大數量來對情況進行資格認定。 舉個例子,假設有四個線人 A、B、C 和 D,調查結果如下:“A 說 B 是可靠的,但 D 不可靠”,“B 說 C 不可靠”,“C 說 A 和 D 是可靠的”。在這種情況下,最多只有兩個線人是可靠的。 您的任務是通過編寫一個高效的程序來幫助 ACM,在給定調查結果的情況下,計算可能是可靠的線人的最大數量。
問題的輸入包含多個測試案例。每個測試案例以一行兩個非負整數開始,用空格分隔。其中,i (0 < i ≤ 20) 是線人的數量,a (0 ≤ a ≤ 800) 是信心調查中的答案數。然後,跟隨著 a 行,每行包含兩個整數 x 和 y (1 ≤ x ≤ i,1 ≤ |y| ≤ i),以空格分隔。如果 y 是正數,則表示“線人 x 說線人 y 是可靠的”。如果 y 是負數,則表示“線人 x 說線人 y 不可靠”。輸入的結尾由一行包含兩個值為 0 的數字表示(一個應該被忽略的人工案例)。
對於每個輸入案例,在一行中輸出相應的答案,即根據調查中的回答,可靠的線人的最大數量。
4 5 1 2 1 -4 2 -3 3 1 3 4 1 1 1 -1 3 3 1 2 2 3 3 -1 0 0
2 0 2
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」
|