Hoán Vị Ẩn
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Go, Java, Kotlin, Pascal, Python, Scratch
Có một hoán vị ẩn của các số nguyên từ đến . Nhiệm vụ của bạn là tìm ra hoán vị này bằng cách đặt câu hỏi so sánh.
Giao thức tương tác
Đây là bài toán tương tác. Chương trình của bạn giao tiếp với hệ thống đánh giá thông qua đầu vào/ra chuẩn.
Đầu tiên, chương trình đọc số nguyên .
Sau đó, bạn có thể thực hiện hai loại thao tác:
? i j(với , ): Hỏi hệ thống liệu hay không. Hệ thống trả lờiYESnếu , hoặcNOnếu .! a_1 a_2 ... a_n: Khai báo hoán vị và kết thúc chương trình.
Bạn được phép hỏi tối đa câu hỏi dạng ?.
Quan trọng: Sau mỗi lần in ra, bạn phải flush output:
- C++:
cout << endl;hoặccout.flush(); - Python:
print(..., flush=True)
Ràng buộc
- Số truy vấn tối đa:
Ví dụ
| Chương trình | Hệ thống | Giải thích |
|---|---|---|
| 3 | Hệ thống cho biết . Hoán vị ẩn là | |
| ? 3 2 | NO | Hỏi: ? Không () |
| ? 3 1 | YES | Hỏi: ? Đúng () |
| ! 3 1 2 | Khai báo hoán vị . Đúng! |
Bình luận