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

Nhiệm vụ của Đức Vua

Đề bài

Mô tả

Cho một hoán vị p1,p2,,p2n của các số từ 1 đến 2n. Bạn được phép thực hiện hai loại thao tác:

  1. Đổi chỗ p1 với p2, p3 với p4, ..., p2n1 với p2n (đổi chỗ từng cặp phần tử liền kề).
  2. Đổi chỗ p1 với pn+1, p2 với pn+2, ..., pn với p2n (đổi chỗ phần tử ở nửa đầu với phần tử tương ứng ở nửa sau).

Hãy tìm số thao tác ít nhất cần thực hiện để đưa hoán vị về trạng thái đã sắp xếp 1,2,,2n. Nếu không thể sắp xếp được bằng các thao tác trên, in ra 1.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n.
  • Dòng thứ hai chứa 2n số nguyên pi, là một hoán vị của các số từ 1 đến 2n.

Dữ liệu ra

In ra một số nguyên: số thao tác ít nhất cần thực hiện để sắp xếp hoán vị, hoặc 1 nếu không thể.

Ràng buộc

  • 1n1000
  • p là một hoán vị của 1,2,,2n

Ví dụ

Input Output Giải thích
3
6 3 2 5 4 1
3 Thao tác 1: 3 6 5 2 1 4. Thao tác 2: 2 1 4 3 6 5. Thao tác 1: 1 2 3 4 5 6.
2
3 4 2 1
-1 Không có dãy thao tác nào đưa được về trạng thái sắp xếp.
4
1 2 3 4 5 6 7 8
0 Hoán vị đã được sắp xếp sẵn, không cần thao tác nào.

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