HILO
Bessie có một số bí mật , trong đó là một số nguyên nằm trong khoảng từ đến (). Elsie cố gắng đoán số này bằng cách hỏi "số cao hay thấp?" cho các số nguyên từ đến .
- Nếu : Bessie trả lời "HI".
- Nếu : Bessie trả lời "LO".
Elsie sử dụng chiến lược sau: cô tạo một hoán vị của các số từ đến , rồi đoán lần lượt Tuy nhiên, cô bỏ qua lần đoán nếu kết quả đã rõ ràng, cụ thể:
- Bỏ qua nếu đã từng đoán và nhận "HI" (tức đã lớn hơn , nên cũng vậy).
- Bỏ qua nếu đã từng đoán và nhận "LO" (tức đã nhỏ hơn , nên cũng vậy).
Nối tất cả các phản hồi lại thành một xâu ký tự (ví dụ "HILOHILO"). Đếm số lần xâu con "HILO" xuất hiện trong xâu phản hồi.
Cho và , tính tổng số lần "HILO" xuất hiện trên tất cả hoán vị mà Elsie có thể chọn, modulo .
Dữ liệu vào
Một dòng chứa hai số nguyên và .
Dữ liệu ra
In ra một số nguyên duy nhất: tổng số lần "HILO" xuất hiện trên tất cả các hoán vị, modulo .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 2 | 17 | Số bí mật là . Ví dụ với hoán vị : đoán ("HI"), đoán ("LO"), đoán (bỏ qua vì đã "LO" và ... nhưng đã "HI" và ? Không, nên "HI" từ không cho biết kết quả . Thực tế nên đoán cho "HI", đoán bỏ qua vì đã "LO". Xâu: "HILOHI", có lần "HILO". Tổng trên tất cả hoán vị là . |
| 60 10 | 508859913 | , . Kết quả modulo . |
Ghi chú
Lưu ý rằng Elsie bỏ qua lần đoán chỉ khi có thể suy ra kết quả từ các lần đoán trước. Cụ thể, nếu đã biết HI cho một giá trị nhỏ hơn , hoặc LO cho một giá trị lớn hơn , thì kết quả đoán đã hiển nhiên.
Bình luận