HNOI 2023 Split 2, Day 1 - Truyền dữ liệu
Xem dạng PDFVCL là một hệ thống trao đổi dữ liệu trực tiếp giữa các máy tính đang được thử nghiệm tại trường THPT Nguyễn Thị Minh Khai. Trường có ~N~ máy tính được đánh số từ ~1~ đến ~N~. Các máy tính đều sử dụng hệ thống VCL và được kết nối với nhau theo đồ thị cây.
Ban đầu, hệ thống có một tệp dữ liệu đang được lưu trữ bởi ~1~ hoặc ~2~ máy tính. Trường muốn truyền tệp này đến tất cả các máy tính khác trong hệ thống. Cơ chế truyền dữ liệu của hệ thống VCL như sau:
Cứ sau mỗi một phút, mỗi máy tính trong hệ thống chỉ có thể truyền dữ liệu đến duy nhất một máy tính khác được kết nối TRỰC TIẾP với nó.
Yêu cầu: Cho số hiệu của các máy tính đang lưu trữ tệp dữ liệu ở thời điểm ban đầu. Hãy tính thời gian tối thiểu để tất cả các máy tính trong hệ thống nhận được tệp dữ liệu.
Input Specification: Data taken from TDL.INP
- Dòng đầu tiên chứa số nguyên ~N~ ~(1 \le N \le 10^5)~ là số lượng máy tính;
- ~N - 1~ dòng tiếp theo, mỗi dòng chứa hai số nguyên khác nhau ~x~ và ~y~ ~(1 \le x, y \le N)~ mô tả số hiệu của hai máy tính được kết nối trực tiếp;
- Dòng tiếp theo chứa số ~M~ ~(1 \le M \le 2)~ là số lượng máy tính đang lưu trữ tệp dữ liệu ở thời điểm ban đầu;
- Dòng tiếp theo chứa ~M~ số nguyên dương mô tả số hiệu của các máy tính đang lưu trữ tệp dữ liệu.
Output Specification: Data written in TDL.OUT
- Gồm một số nguyên là thời gian tối thiểu hoàn thành công việc.
Limitations
- Có ~25\%~ số Cases ứng với ~25\%~ số điểm thỏa mãn: ~N \le 20~;
- Có ~25\%~ số Cases ứng với ~25\%~ số điểm thỏa mãn: ~M = 1~;
- Có ~25\%~ số Cases ứng với ~25\%~ số điểm thỏa mãn: ~M = 2; N \le 1000~;
- ~25\%~ số Cases còn lại ứng với ~25\%~ số điểm không có ràng buộc gì thêm.
Sample Case(s)
Input #1:
6
1 2
2 3
2 4
1 5
5 6
1
1
Output #1:
3
Explanation:
- Ban đầu máy ~1~ lưu trữ dữ liệu;
- Phút thứ ~1~: Máy ~2~ nhận được tệp dữ liệu;
- Phút thứ ~2~: Máy ~3~ và ~5~ nhận được tệp dữ liệu;
- Phút thứ ~3~: Máy ~4~ và ~6~ nhận được tệp dữ liệu.

Input #2:
6
1 2
2 3
2 4
1 5
5 6
2
1 2
Output #2:
2
Explanation:
- Ban đầu máy ~1~ và ~2~ lưu trữ dữ liệu;
- Phút thứ ~1~: Máy ~3~ và ~5~ nhận được tệp dữ liệu;
- Phút thứ ~2~: Máy ~4~ và ~6~ nhận được tệp dữ liệu.
Bình luận