Điểm:
100 (p)
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Bài toán
Cho đồ thị có hướng gồm \(N\) đỉnh, \(M\) cạnh và \(K\) chiếc hộp trên các đỉnh. Trên mỗi đỉnh có chứa \(0\) hoặc \(1\) chiếc hộp. Tại mỗi bước, bạn có thể đẩy hộp từ một đỉnh đến một đỉnh khác chưa có hộp. Hộp sẽ tự hủy khi đến đỉnh \(1\).
Hãy tính số bước đẩy ít nhất để đẩy tất cả các hộp đến đỉnh \(1\).
Input
- Dòng đầu tiên chứa \(3\) số nguyên dương \(N, M, K\) (\(1 \leq K \leq N \leq 10000, \; 0 \leq M \leq 50000\)).
- Dòng thứ hai chứa \(K\) số nguyên dương khác nhau, lần lượt là các đỉnh chứa hộp.
- \(M\) dòng tiếp theo, mỗi dòng chứa \(2\) số nguyên dương \(u, v\) mô tả đường đi từ \(u\) đến \(v\).
Output
- In ra số bước đẩy ít nhất.
Example
Test
Input
4 3 3
2 3 4
3 1
2 1
4 2
Success
4
Bình luận