Olympic 30/4 Khối 11 - 2023 - Số lượng thành phần liên thông
View as PDF
Submit solution
Points:
0.30 (partial)
Time limit:
1.0s
Memory limit:
256M
Input:
SLTPLT.inp
Output:
SLTPLT.out
Problem source:
Problem types
Cho một đồ thị vô hướng ~A~ có ~N~ đỉnh và ~M~ cạnh. Dựa vào đồ thị ~A~ cho trước, một đồ thị ~B~ cũng có ~N~ đinh và ~ \frac{N\times (N-1)}{2} – M~ cạnh được định nghĩ như sau: với hai đinh ~u~ và ~v~ bất kỳ, nếu không có cạnh nối giữa chúng trong đồ thị ~A~ thì sẽ có cạnh nổi giữa ~u~ và ~v~ trong đồ thị ~B~. Hãy cho biết số lượng thành phần liên thông có trong ~B~.
Dữ liệu vào
Từ file văn bản SLTPLT.INP
- Dòng đầu tiên: chứa số nguyên ~T~ cho biết số lượng test có trong bài. Mỗi test bao gồm:
- Dòng đầu chứa ~2~ số nguyên ~N~ và ~M~ được mô tả trong đề bài.
- ~M~ dòng tiếp theo mỗi dòng chứa ~2~ số nguyên ~u~ và ~v~ ~(1 \leq u, v \leq N)~ cho biết có cạnh nối giữa hai đỉnh ~u~ và ~v~.
Kết quả
Ghi ra file văn bản SLTPLT.OUT
- Với mỗi test:
- Dòng đầu là một số nguyên cho biết số lượng thành phần liên thông có trong test đó.
- Dòng thứ ~2~ in ra độ lớn của từng thành phần liên thông theo thứ tự tăng dần.
Sample Input
2
4 4
1 3
1 4
2 3
2 4
2 3
2 4
3 1
1 2
Sample Output
2
2 2
1
3
Giải thích
- Trong test đầu tiên, đô thị ~B~ có ~2~ cạnh ~(1,2)~ và ~(3,4)~ vì vậy nó có ~2~ thành phần liên thông, mỗi thành phần liên thông chứa ~2~ đỉnh.
- Trong test thứ ~2~, chỉ có ~1~ cạnh nối giữa ~2~ đinh ~(1, 2)~, vì vậy ~2~ đỉnh này sẽ không nối với nhau trong đồ thị ~B~, nhưng ~1~ và ~2~ đều nối đến ~3~ do đó cả ba đỉnh này nằm chung trong ~1~ thành phần liên thông.
Ràng buộc
~ 1 \leq T \leq 100~
~ 1 \leq N \leq 2 \times 10^5 ~
~ 1 \leq M \leq 2 \times 10^5 ~
Tổng các ~N~ và ~M~ không vượt quá ~2 \times 10^5~.
| Subtask | Điểm | Giới hạn |
|---|---|---|
| ~1~ | ~20\%~ | ~T = 10, N \leq 20~ |
| ~2~ | ~20\%~ | ~T = 20, N \leq 100~ |
| ~3~ | ~20\%~ | ~T = 100, N \leq 100~ |
| ~4~ | ~40\%~ | ~T = 100, N \leq 2\times 10^5~ |
Comments