[Buổi 20][Cây cơ bản & DFS trên cây][HW] Bài 3: Tuyến an toàn tới trạm dịch vụ
Tuyến an toàn tới trạm dịch vụ
Bối cảnh và bài toán
Một khu vận hành được mô hình bằng cây có gốc tại nút 1. Một số nút nằm trong vùng cảnh báo. Các trạm dịch vụ đặt tại các lá. Một tuyến từ gốc tới trạm chỉ được chấp nhận nếu không xuất hiện quá m nút cảnh báo liên tiếp.
Yêu cầu
Đếm số trạm dịch vụ có tuyến đi từ gốc thỏa điều kiện an toàn.
Input
- Dòng 1 chứa
n m. - Dòng 2 chứa
ngiá trị 0/1 mô tả trạng thái cảnh báo của từng nút. n-1dòng tiếp theo chứa các cạnh vô hướngu vcủa cây.
Output
In số lá có đường đi từ nút 1 thỏa giới hạn cảnh báo liên tiếp.
Ràng buộc
2 <= n <= 10^51 <= m <= n- Đồ thị đầu vào là một cây.
Chấm điểm
| Subtask | Điểm | Điều kiện | Official tests |
|---|---|---|---|
| S1 | 20% | n <= 30 | 01–04 |
| S2 | 30% | n <= 5000 | 05–10 |
| S3 | 50% | Không có ràng buộc bổ sung | 11–20 |
Ví dụ 1
Input
7 1
1 1 0 0 0 0 1
1 2
1 3
2 4
2 5
3 6
3 7
Output
2
Giải thích. Hai lá có đường đi không vượt quá một nút cảnh báo liên tiếp.
Ví dụ 2
Input
3 0
0 1 0
1 2
1 3
Output
1
Giải thích. Nhánh tới nút 2 chứa cảnh báo nên bị loại; nút 3 hợp lệ.
Thông tin bài tập
| Thuộc tính | Giá trị |
|---|---|
| Mã bài | DSA-M07-B20-HW03 |
| Buổi | B20 |
| Loại bài | HOMEWORK |
| Mức độ khó | Trung bình (Medium) |
| Thời gian làm bài khuyến nghị | 40 phút |
| Time limit | 2 giây |
| Memory limit | 256 MB |
| Tổng điểm | 100 |
| Chuẩn ngôn ngữ tham chiếu | C++11 trở lên |
Nguồn: Phỏng theo Codeforces 580C – Kefa and Park.
Comments