Gần đây công ty trò chơi X đưa ra một trò chơi giả lập mới và đã được đông đảo bạn trẻ đón nhận và yêu thích. Trò chơi được mô tả như sau:
Đất nước giả lập Alpha có \(n\) thành phố đánh số từ \(1\) đến \(n\ \)và có\(\ m\) con đường nối các thành phố với nhau. Nếu một thành phố không đảm bảo điều kiện mà trò chơi đưa ra thì thành phố đó sẽ bị xóa khỏi trò chơi. Các thành phố có thể được biểu diễn bởi một đơn đồ thị vô hướng có \(n\) đỉnh và \(m\) cạnh. Một thành phần liên thông trong đồ thị là tập hợp các đỉnh mà từ một đỉnh bất kỳ có đường đi trực tiếp hoặc gián tiếp đến các đỉnh khác trong tập hợp đó. Nhiệm vụ của bạn là với mỗi thành phố, hãy tính xem nếu thành phố đó bị xóa khỏi trò chơi thì đồ thị biểu diễn các thành phố còn lại có bao nhiêu thành phần liên thông.
Dữ liệu vào:
+ Dòng đầu tiên ghi hai số nguyên dương \(n,m\) (\(n \leq 2.10^{4},m \leq 5.10^{4}\));
+ \(m\) dòng sau trên mỗi dòng ghi hai số nguyên dương \(u,\ v\ \)mô tả có đường nối 2 thành phố \(u,\ v\).
Kết quả:
+ Ghi \(n\) dòng, dòng thứ \(i\) cho biết số thành phần liên thông của đồ thị biểu diễn các thành phố còn lại nếu thành phố thứ \(i\) bị xóa khỏi trò chơi.
Ví dụ:
Input | Output |
---|---|
5 4 1 2 2 3 2 4 3 5 | 1 3 2 1 1 |
Ràng buộc:
+ Có \(60\%\) số test có\(:2 \leq L \leq R \leq 10^{5}\) \(n \leq 10^{3},\ m \leq 2.10^{3}\);
+ Có\(\ 40\%\) số test có \(10^{3} < n \leq 2.10^{4},\ 2.10^{3} < m \leq 5.10^{4}\).
Code tích cực |
---|
Trong 24h |
|
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |