trang chủ / bài tập / permbstr

Hoán Vị Xâu Nhị Phân

Đề bài

Mô tả

Có một hoán vị ẩn a1,a2,,an của các số nguyên từ 1 đến n. Nhiệm vụ của bạn là tìm ra hoán vị này bằng cách gửi các xâu nhị phân.

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 n.

Sau đó, bạn có thể thực hiện hai loại thao tác:

  • ? b_1b_2 \ldots b_n: Gửi một xâu nhị phân có độ dài n (gồm các ký tự 01). Hệ thống trả về xâu ba1ba2ban — xâu nhị phân được hoán vị theo hoán vị ẩn.
  • ! a_1 a_2 \ldots 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 10 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ặc cout.flush();
  • Python: print(..., flush=True)

Ràng buộc

  • 1n1000
  • Số truy vấn tối đa: Q10

Ví dụ

Chương trình Hệ thống Giải thích
3 n=3. Hoán vị ẩn: [1,3,2]
? 100 100 Gửi 100. Kết quả: ba1ba2ba3=b1b3b2 = 100
? 010 001 Gửi 010. Kết quả: b1b3b2 = 001
? 001 010 Gửi 001. Kết quả: b1b3b2 = 010
! 1 3 2 Khai báo hoán vị [1,3,2]. Đúng!

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0