出自 IOI 1996
一些學校連接在一個計算機網(wǎng)絡(luò)上。學校之間存在軟件支援協(xié)議。每個學校都有它應(yīng)支援的學校名單(學校 a 支援學校 b,并不表示學校 b 一定支援學校 a)。當某校獲得一個新軟件時,無論是直接得到還是網(wǎng)絡(luò)得到,該校都應(yīng)立即將這個軟件通過網(wǎng)絡(luò)傳送給它應(yīng)支援的學校。因此,一個新軟件若想讓所有連接在網(wǎng)絡(luò)上的學校都能使用,只需將其提供給一些學校即可。
任務(wù)
請編一個程序,根據(jù)學校間支援協(xié)議(各個學校的支援名單),計算最少需要將一個新軟件直接提供給多少個學校,才能使軟件通過網(wǎng)絡(luò)被傳送到所有學校;
如果允許在原有支援協(xié)議上添加新的支援關(guān)系。則總可以形成一個新的協(xié)議,使得此時只需將一個新軟件提供給任何一個學校,其他所有學校就都可以通過網(wǎng)絡(luò)獲得該軟件。編程計算最少需要添加幾條新的支援關(guān)系。
5 2 4 3 0 4 5 0 0 0 1 0
1 2