Sắp Xếp Nghịch Thế

Đề 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à sắp xếp hoán vị bằng cách đảo ngược các đoạn con. Sau mỗi thao tác đảo ngược, hệ thống sẽ cho biết số nghịch thế hiện tại.

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.

Mỗi bước, bạn thực hiện thao tác:

  • In hai số nguyên i j (1ijn): Đảo ngược đoạn con ai,ai+1,,aj. Hệ thống trả về số nghịch thế của hoán vị sau khi đảo.

Chương trình kết thúc khi số nghịch thế trả về bằng 0 (hoán vị đã sắp xếp).

Bạn được phép thực hiện tối đa 4n thao tác.

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ố thao tác tối đa: 4n

Ví dụ

Chương trình Hệ thống Giải thích
3 n=3. Hoán vị ẩn: [3,1,2]
1 2 1 Đảo [1,2]: [1,3,2]. Nghịch thế: 1
2 3 0 Đảo [2,3]: [1,2,3]. Nghịch thế: 0. Xong!

Bình luận

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