時間限制:
3000 ms | 記憶體限制:
65535 kb
難度:5 描述
南陽理工學院共有m個系,分別編號1~m,其中各個系之間達成有一定的協議,如果某系有新軟體可用時,該系將允許一些其它的系複製並使用該軟體。但該允許關係是單向的,即:a系允許b系使用a的軟體時,b未必一定允許a使用b的軟體。
現在,請你寫乙個程式,根據各個系之間達成的協議情況,計算出最少需要新增多少個兩系之間的這種允許關係,才能使任何乙個系有軟體使用的時候,其它所有系也都有軟體可用。
輸入
第一行輸入乙個整數t,表示測試資料的組數(t<10)
每組測試資料的第一行是乙個整數m,表示共有m個系(2<=m<=100)。
隨後的m行,每行都有一些整數,其中的第i行表示系i允許這幾個系複製並使用系i的軟體。每行結尾都是乙個0,表示本行輸入結束。如果某個系不允許其它任何系使用該系軟體,則本行只有乙個0.
輸出對於每組測試資料,輸出最少需要新增的這種允許關係的個數。
樣例輸入
152 4 3 0
4 5 000
1 0
樣例輸出
2
用tarjan演算法找出圖中的強連通分量,然後將每個強連通分量縮點,找出入度為0的點數與出度為0的點數,較大值即為要新增的邊。
tarjan演算法[1]:
NYOJ 120 校園網路
時間限制 3000 ms 記憶體限制 65535 kb 難度 5 描述 南陽理工學院共有m個系,分別編號1 m,其中各個系之間達成有一定的協議,如果某系有新軟體可用時,該系將允許一些其它的系複製並使用該軟體。但該允許關係是單向的,即 a系允許b系使用a的軟體時,b未必一定允許a使用b的軟體。現在,請...
nyoj 120 校園網路
時間限制 3000 ms 記憶體限制 65535 kb 難度 5 描述 南陽理工學院共有m個系,分別編號1 m,其中各個系之間達成有一定的協議,如果某系有新軟體可用時,該系將允許一些其它的系複製並使用該軟體。但該允許關係是單向的,即 a系允許b系使用a的軟體時,b未必一定允許a使用b的軟體。現在,請...
nyoj 120 校園網路
也就是求新增多少條邊可以構成強連通,有向圖。方法是有trajan之後縮點,看新構成的圖出度或者入度為零,大的即為要加的邊。有主意圖本身就連通是這是加的變為0,而不是1.view code 1 include 2 include 3 include 4 include 5 using namespac...