Mạng máy tính
Xem PDF
Điểm:
1400
Thời gian:
1.0s
Bộ nhớ:
500M
Input:
bàn phím
Output:
màn hình
Một hệ thống \(N\) máy tính đánh số từ \(1\) đến \(N\) được nối mạng bằng \(M\) kênh truyền tin một chiều giữa một số cặp máy. Mạng cho gọi là thông suốt nếu như từ một máy \(u\) bất kỳ luôn có thể truyền tin đến mỗi máy \(v\) trong số các máy còn lại hoặc theo kênh truyền tin từ \(u\) đến \(v\) hoặc thông qua một số kênh trung gian. Ta gọi một mạng con của mạng đã cho là một mạng gồm một số máy và các kênh nối chúng của mạng đã cho. Trong trường hợp mạng là không thông suốt nó sẽ phân rã thành một số mạng con thông suốt. Mạng con thông suốt được gọi là cực đại nếu như không tồn tại một mạng con thông suốt của mạng đã cho chứa nó như một mạng con. Bạn cần xác định số mạng con thông suốt cực đại của mạng dã cho.
Input
- Dòng đầu tiên chứa hai số ngyên dương \(N, M\) \((1 \leq N,M \leq 5 \times 10^{5})\)
- Dòng thứ \(i\) trong \(M\) dòng tiếp theo ghi \(2\) số nguyên dương \(d_{i}, c_{i}\) cho biết kênh truyền tin thứ \(i\) cho phép truyền tin từ máy \(d_{i}\) sang máy \(c_{i}\).
Output
- Dòng đầu tiên ghi \(K\) là số mạng con thông suốt cực đại của mạng đã cho
- \(K\) dòng tiếp theo, mỗi dòng ghi dãy các đỉnh thuộc cùng một mạng con thông suốt cực đại
Example
Test 1
Input
9 14
1 2
1 4
1 7
2 3
2 6
3 1
4 5
5 4
5 7
6 7
7 9
9 6
9 8
8 9
Output
3
1 2 3
4 5
6 7 8 9
Bình luận