Bedao Grand Contest 15 - Fun Puzzle

Xem dạng PDF

Gửi bài giải


Điểm: 0,00 (OI)
Giới hạn thời gian: 3.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Kho báu của fextivity được anh ta cất giữ ở trong một két sắt. Chìa khóa để mở két sắt là một mật mã cho dưới dạng một xâu ~P~ gồm đúng ~52~ chữ cái tiếng Anh in thường và in hoa, mỗi chữ cái xuất hiện đúng một lần. Để giải mật mã, các nhà thám hiểm cần sử dụng một thiết bị đặc biệt do fextivity tạo ra có cách thức hoạt động như sau:

  • Gọi các kí tự của xâu ~P~ là ~P[0], P[1], \ldots, P[51]~.
  • Định nghĩa một mảng vị trí ~pos~ với ý nghĩa: ~P[i] = c \Leftrightarrow pos[c] = i~.
  • Người sử dụng đưa ra một xâu ~S~ có độ dài không vượt quá ~10~.
  • Thiết bị sẽ trả về một xâu ~T~ được xác định như sau:
    • ~T[0] = S[0]~.
    • Với ~i > 0~, ~T[i]~ là kí tự ở chính giữa ~T[i - 1]~ và ~S[i]~ trên xâu ~P~. Cụ thể đặt ~x = pos[T[i - 1]]~ và ~y = pos[S[i]]~, ta có: $$T[i] = \begin{cases}P \left[ \left \lfloor \frac{x + y}{2} \right \rfloor \right] & (y < x) \\ P \left[ \left \lceil \frac{x + y}{2} \right \rceil \right] & (y \ge x)\end{cases}$$

Với rất nhiều lần thử, những nhà thám hiểm đi trước đã tìm ra được kí tự đầu tiên của xâu ~P~. Tuy nhiên thiết bị đã cũ, bạn hãy tìm cách giải mật mã với ít lần sử dụng ít nhất có thể.

Output

Gồm một dòng duy nhất là xâu ~P~ cần tìm.

Interaction

Trước khi thực hiện truy vấn, bạn sẽ nhận được ở dòng đầu tiên kí tự duy nhất ~P[0]~ — kí tự đầu tiên của xâu kí tự ~P~ mà các nhà thám hiểm đã tìm được.

Để sử dụng thiết bị trên, yêu cầu in ra truy vấn theo dạng "? S" với ~S~ là xâu kí tự được sử dụng để thực hiện truy vấn. Sau đó, bạn sẽ nhận được xâu ~T~ là xâu kí tự kết quả.

Để in ra đáp án, yêu cầu in ra theo dạng "! P" với ~P~ là xâu kí tự cần tìm.

Scoring

Gọi ~Q~ là số lần sử dụng thiết bị:

Giới hạn Điểm
~2500 \le Q~ ~0~
~100 \le Q \le 2499~ ~30~
~50 \le Q \le 99~ ~30+0.5\cdot(100-Q)~
~33 \le Q \le 49~ ~55+2.5\cdot (50-Q)~
~Q \le 32~ ~100~


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.