Hoán Vị Yêu Thích Của FJ

Đề bài

Mô tả

Farmer John có một hoán vị p độ dài N (2N105). Farmer Nhoj đã tháo rời hoán vị và tạo ra gợi ý bằng quy trình sau:

Gọi p1,p2,,pm là các phần tử còn lại (ban đầu m=N). Lặp lại cho đến khi còn 1 phần tử:

  • Nếu p1>pm: ghi ra p2 và xóa p1
  • Ngược lại (p1pm): ghi ra pm1 và xóa pm

Quy trình tạo ra N1 giá trị gợi ý h1,h2,,hN1.

Cho dãy h, tìm hoán vị p nhỏ nhất theo thứ tự từ điển thỏa mãn gợi ý, hoặc in 1 nếu không tồn tại.

Dữ liệu vào

  • Dòng 1: Số nguyên T -- số test case (1T10)
  • Mỗi test case:
    • Dòng 1: Số nguy��n N
    • Dòng 2: N1 số nguyên h1,h2,,hN1 (1hiN)

Dữ liệu ra

Với mỗi test case, in hoán vị nhỏ nhất theo thứ tự từ điển, hoặc 1 nếu không khả thi.

Ràng buộc

  • 2N105
  • 1T10
  • Test 2: N8
  • Test 3-6: N100

Ví dụ

Input Output Giải thích
5
2
1
2
2
4
1 1 1
4
2 1 1
4
3 2 1
1 2
-1
-1
3 1 2 4
1 2 3 4
Test 1: p=[1,2], p1=1p2=2, ghi p1=1. Test 4: p=[3,1,2,4], bước 1: 34 nên ghi p3=2; bước 2: [3,1,2], 3>2 nên ghi p2=1; bư���c 3: [1,2], 12 nên ghi 1.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0