M. Hospital - Bệnh viện của thành phố Q

Xem dạng PDF

Gửi bài giải

Điểm: 0,10
Giới hạn thời gian: 1.5s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

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

Trong thành phố Qn khu dân cư được đánh số từ 1 tới n. Các thành phố được kết nối với nhau thông qua các n - 1 tuyến đường 2 chiều, đảm bảo các khu dân cư đến được với nhau thông qua các con đường.

Lãnh đạo thành phố Q xây bệnh viện ở 1 số khu dân cư để phục vụ nhu cầu khám chữa bệnh cho người dân. Có k bệnh viện được xây ở k khu dân cư, hãy giúp người dân xác định khoảng cách ngắn nhất tới bệnh viện gần nhất.

Định nghĩa khoảng cách ngắn nhất từ khu dân cư tới bệnh viện: Là số tuyến đường ít nhất để đi từ khu dân cư tới bệnh viện.


Yêu cầu: Bạn được cho t truy vấn. Mỗi truy vấn bạn hãy xác định khoảng cách ngắn nhất của 1 khu dân cư tới bệnh viện gần nhất.

Dữ liệu vào:

  • Dòng đầu tiên chứa ba số nguyên n, kt.
  • Dòng thứ hai gồm k số tự nhiên đôi một khác nhau a1, a2, ..., ak, tương ứng với k bệnh viện.
  • n - 1 dòng tiếp theo, mỗi dòng gồm 2 số tự nhiên uv là tuyến đường nối giữa 2 thành phố uv.
  • t dòng tiếp theo, mỗi dòng gồm 1 số tự nhiên city ứng với truy vấn tìm khoảng cách tới bệnh viện gần nhất.

Dữ liệu ra:

  • Gồm t dòng, mỗi dòng là kết quả ứng với mỗi truy vấn.

Input:

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

Output:

2
1
0
1
2

Giải thích:

  • Hình trên miêu tả đồ thị kết nối các thành phố. Có 3 bệnh viện ở khu dân cư lần lượt là 3, 4, 6.
  • Có 5 truy vấn
  • Truy vấn 1: Cần tìm khoảng cách bệnh viện ngắn nhất tới khu dân cư 1. Bệnh viện ở khu dân cư 3 hoặc 4 gần nhất với khoảng cách 2.
  • Truy vấn 2: Cần tìm khoảng cách bệnh viện ngắn nhất tới khu dân cư 2. Bệnh viện ở khu dân cư 3 hoặc 4 gần nhất với khoảng cách 1.
  • Truy vấn 3: Cần tìm khoảng cách bệnh viện ngắn nhất tới khu dân cư 4. Bệnh viện ở khu dân cư 4 nên không cần đi đâu cả! (Khoảng cách 0).
  • Truy vấn 4: Cần tìm khoảng cách bệnh viện ngắn nhất tới khu dân cư 5. Bệnh viện ở khu dân cư 4 gần nhất với khoảng cách 1.
  • Truy vấn 5: Cần tìm khoảng cách bệnh viện ngắn nhất tới khu dân cư 8. Bệnh viện ở khu dân cư 4 gần nhất với khoảng cách 2.

Giới hạn:

  • ~5 \le n \le 10^{6}~, ~1 \le k < n, 1 \le t \le n~.
  • ~1 \le a_1, a_2, ..., a_k \le n~

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.