Rồng Zmei Gorynich
Đề bài
Mô tả
Con quái vật ban đầu có cái đầu. Bạn có loại đòn đánh. Khi tung đòn loại thứ , số đầu hiện tại giảm đi , trong đó là số đầu hiện tại. Tuy nhiên nếu sau đòn đánh này quái vật vẫn còn ít nhất một cái đầu, nó sẽ mọc thêm cái đầu mới. Nếu thì quái vật bị tiêu diệt.
Ví dụ: nếu , , thì số đầu chuyển thành (chém rơi đầu nhưng lại mọc thêm đầu mới); còn nếu , , thì số đầu chuyển thành và quái vật bị tiêu diệt (không mọc thêm đầu vì không còn đầu nào).
Bạn có thể tung mỗi loại đòn bao nhiêu lần tùy ý, theo thứ tự tùy ý. Hãy tính số đòn ít nhất để tiêu diệt quái vật.
Có truy vấn độc lập.
Dữ liệu vào
- Dòng đầu chứa số nguyên : số lượng truy vấn.
- Với mỗi truy vấn:
- Dòng đầu chứa hai số nguyên và : số loại đòn và số đầu ban đầu của quái vật.
- dòng tiếp theo, dòng thứ chứa hai số nguyên và : mô tả đòn đánh loại .
Dữ liệu ra
Với mỗi truy vấn, in ra số đòn ít nhất cần tung để tiêu diệt quái vật. Nếu không thể tiêu diệt được, in ra .
Ràng buộc
- ,
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 3 10 6 3 8 2 1 4 4 10 4 1 3 2 2 6 1 100 2 15 10 11 14 100 |
2 3 -1 |
Truy vấn 1: tung đòn 1 (số đầu thành ), rồi tung đòn 2 (chém nên còn ). Truy vấn 2: tung đòn 1 ba lần. Truy vấn 3: không thể tiêu diệt. |
| 1 2 15 10 11 14 100 |
-1 | Không có đòn nào chém hết đầu ngay, và mọi đòn đều làm số đầu không giảm về lâu dài. |
Bình luận