某⼭區散落着很多⼩部落,有些部落之間有⼩路相連,但由於位處⼭區,所有的⼩路都是固定⽅向且是單向的。即若有⼩路由 A 通向 B,那⼈們就只能⽤這條⼩路由 A ⾛向 B ⽽不能⾛相反⽅向,除⾮有另⼀條⼩路由 B 通向 A,但這會是兩條不同的⼩路。
為了守望相助部落之間要組成⼀些社群,⽽組成社群的條件是在社群中每⼀個部落都必須可以通過現有的⼩路直接或間接通往另外⼀個部落。
為了⽅便初步統籌,所有不能與其他部落組成社群的會單獨⾃⼰⼀個部落組成⼀個社群。現在我們想知道⼀共可以組成多少個社群。
輸⼊的第⼀⾏有⼀個正整數 T ( 0 <= T <= 50 ),代表測試數據的數⽬。隨後有 T 組測試數據,每組的格式如下:
- 數據的第⼀⾏上有個正整數 N、R,N 是部落的數⽬,R 是⼩路的數⽬;
- 隨後的 R ⾏上每⾏有兩個正整數 U、V,代表有⼀條⼩路由部落 U 單向通往部落 V,( 1 <= U, V <= N 即部落的編號是由 1 ⾄ N, 1 <= N <= 400 )
對應於每⼀組輸⼊測試數據,輸出以下資料
- 在第⼀⾏輸出⼀個正整數 K,代表所分成的社群的數⽬
- 隨後的 K ⾏上每⾏有兩個正整數 U、S,其中
- U 是該社群中,編號最⼩的那個部落的編號
- S 是組成該社群的部落的數⽬
- 部落編號輸出要由⼩⾄⼤排到
2 3 2 1 2 2 1 7 10 1 4 3 2 3 7 5 4 1 2 5 2 2 5 6 5 6 3 7 6
2 1 2 3 1 4 1 1 2 2 3 3 4 1
| ID | User | Problem | Subject | Hit | Post Date |
沒有發現任何「解題報告」 |
|||||