Chọn ĐTQG TPHCM 2023 - Đường ống thoát nước

Xem dạng PDF

Gửi bài giải

Điểm: 55,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Trong một tòa nhà chung cư, người ta thiết kế một hệ thống thoát nước bao gồm ~N~ chốt được đánh số ~1, 2, \dots, N~ cùng với ~N~ đường ống hai chiều nối giữa ~N~ cặp chốt có dạng ~(i, j)~ với ~i \ne j~ và ~1 \le i, j \le N~. Hệ thống là đạt yêu cầu nếu như từ mỗi chốt, nước đều có thể chảy đến tất cả các chốt khác thông qua các đường ống. Nguyên tắc hoạt động của hệ thống là: ban đầu hệ thống sẽ không có nước, mỗi khi có nước chảy vào từ một chốt ~X~ nào đó, nước sẽ thoát ra qua các chốt được nối trực tiếp với chốt ~X~ thông qua các đường ống. Cứ tiếp tục như thế, nước sẽ chảy lan ra toàn hệ thống và có xu hướng chảy càng lúc càng xa chốt ~X~ chứ không chảy ngược lại. Nếu nước chảy đến một chốt nào đó mà không chảy đi được nữa thì dừng lại tại đó.

Ban quản lý muốn bỏ bớt đúng một đường ống để hệ thống vẫn đạt yêu cầu và ứng với cách bỏ đó, tồn tại cách chọn chốt ~X~ thích hợp để mỗi khi có nước chảy vào ~X~ thì ở mọi chốt trong hệ thống, nước sẽ đều chảy đến được và sẽ thoát ra từ chốt đó bằng không quá ~K~ chốt khác.

Yêu cầu: Hãy viết chương trình xác định số cách chọn bỏ đi một đường ống nào đó để hệ thống còn lại vẫn đảm bảo các yêu cầu trên.

Input

  • Dòng thứ nhất chứa số ~N, K~ với ~1 \le K < N \le 10^5~;

  • Trên ~N~ dòng tiếp theo, mỗi dòng chứa một cặp số ~i, j~ cho biết có đường ống nước nối giữa chốt ~i~ và chốt ~j~. Hệ thống sẽ đảm bảo đạt yêu cầu và các cặp ~(i, j)~ phân biệt nhau giữa các dòng.

Output

Ghi ra một số nguyên là số cách bỏ đường ống.

Scoring

Subtask Điểm Ràng buộc
1 ~20\%~ ~1 \le K < N \le 10~
2 ~20\%~ ~N - 2 \le K < N \le 10^4~
3 ~20\%~ ~K = 1~ và ~2 \le N \le 10^4~
4 ~40\%~ ~1 \le K < N \le 10^5~

Sample Input 1

8 2
1 2
2 3
3 4
4 5
3 1
3 6
2 7
2 8

Sample Output 1

1

Notes

Ta có ~1~ cách bỏ đường ống như sau: bỏ đường ống nối ~(2, 3)~ và chọn chốt ~X~ là ~7~. Khi đó, nước sẽ chảy từ chốt ~7~ đến ~2~, từ đây thoát ra chốt ~1~ và ~8~; tiếp theo, từ chốt ~1~ chảy đến ~3~; từ chốt ~3~ chảy đến chốt ~4~ và ~6~; cuối cùng là từ chốt ~4~ đến ~5~.

Nếu bỏ đường ống nối chốt ~(1, 2)~ thì cho dù chọn chốt ~X~ là chốt nào thì khi đến chốt ~3~, nước sẽ thoát ra theo ít nhất ~3~ chốt khác (tức là lớn hơn ~K~). Tương tự nếu bỏ đường ống ~(1, 3)~ thì cho dù chọn chốt ~X~ là chốt nào thì khi đến ~2~, nước sẽ thoát ra theo ít nhất ~3~ chốt khác.

Ngoài ra, nếu bỏ bất kỳ đường ống nào khác thì hệ thống sẽ không còn đạt yêu cầu nữa.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.