Phản công
Cho một đồ thị vô hướng đơn trên đỉnh được mô tả bởi danh sách cạnh. Xét đồ thị bù của : có cùng tập đỉnh, và hai đỉnh phân biệt kề nhau trong khi và chỉ khi không kề nhau trong .
Hãy tìm các thành phần liên thông của — tức là phân hoạch tập thành các nhóm sao cho hai đỉnh thuộc cùng một nhóm khi và chỉ khi tồn tại đường đi giữa chúng trong .
Dữ liệu vào
Dòng đầu chứa hai số nguyên và — số đỉnh và số cạnh của .
dòng sau, dòng thứ chứa hai số nguyên () — mô tả cạnh thứ trong . Không có cặp cạnh nào trùng lặp.
Dữ liệu ra
Dòng đầu in một số nguyên — số thành phần liên thông của .
dòng tiếp theo, mỗi dòng mô tả một thành phần: số đầu là (số đỉnh trong thành phần), tiếp theo là chỉ số đỉnh thuộc thành phần đó, cách nhau bởi dấu cách.
Thứ tự các thành phần và thứ tự các đỉnh trong mỗi thành phần không quan trọng. Tổng phải bằng .
Ràng buộc
- ,
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 4 1 2 1 3 4 2 4 3 |
2 2 1 4 2 2 3 |
có các cạnh . Trong chỉ có hai cạnh và , cho hai thành phần và . |
| 3 1 1 2 |
1 3 1 3 2 |
Trong , các cạnh là và ; cả ba đỉnh nối liền qua đỉnh . |
| 3 0 | 1 3 1 2 3 |
không có cạnh nên là đồ thị đầy đủ — tất cả đỉnh thuộc một thành phần. |
Bình luận