[Buổi 26][BFS][RDD] Bài 8: Vượt Sông
Vượt Sông
Trong một ngày đẹp trời, FullHouse Dev đang quan sát một tổ kiến đang tìm cách vượt sông. Các chú kiến không thể bơi qua dòng sông vì dòng chảy quá mạnh. May mắn thay, trên sông có một số hòn đá, và các chú kiến cần tìm ra cách sử dụng chúng để vượt sông an toàn.
Bài toán
Dòng sông nằm trên trục \(X\) và được giới hạn bởi tọa độ \(Y\). Có \(N\) hòn đá, mỗi hòn đá được xác định bởi tọa độ tâm và bán kính. Các chú kiến đang đứng ở bờ sông \(X = 0\). Chúng không thể nhảy giữa các hòn đá nhưng có thể di chuyển từ đá này sang đá khác nếu hai hòn đá có điểm giao nhau. Nhiệm vụ là xác định xem liệu các chú kiến có thể vượt sông hay không, và nếu có thì cần ít nhất bao nhiêu hòn đá.
INPUT FORMAT:
- Dòng đầu tiên chứa số nguyên \(T\) - số lượng test case
- Với mỗi test case:
- Dòng đầu chứa số nguyên \(N\) - số lượng hòn đá
- \(N\) dòng tiếp theo, mỗi dòng chứa ba số nguyên \(X_i\), \(Y_i\), \(R_i\) trong đó \((X_i, Y_i)\) là tọa độ tâm và \(R_i\) là bán kính của hòn đá
- Dòng cuối chứa hai số nguyên \(U\) và \(L\) - giới hạn trên và dưới của dòng sông
OUTPUT FORMAT:
- Với mỗi test case, in ra số lượng hòn đá tối thiểu cần dùng để vượt sông. Nếu không thể vượt sông, in ra \(-1\).
Ràng buộc:
- \(1 \leq T \leq 10\)
- \(1 \leq N \leq 1000\)
- \(-1000 \leq X_i, Y_i \leq 1000\)
- \(1 \leq R_i \leq 1000\)
- \(-1000 \leq L < U \leq 1000\)
Ví dụ
INPUT
1
3
1 1 2
1 2 1
3 4 1
3 0
OUTPUT
1
Giải thích
Từ bờ sông, các chú kiến có thể bước lên hòn đá đầu tiên. Sau đó có thể vượt sông trực tiếp hoặc di chuyển qua hòn đá thứ hai rồi vượt sông. Lưu ý rằng không thể sử dụng hòn đá thứ ba vì nó nằm ngoài tầm với của các hòn đá khác.
Comments