trang chủ / đề bài / specperm

Hoán vị đặc biệt

Đề bài

Mô tả

Một hoán vị độ dài n là một dãy p=[p1,p2,…,pn] chứa mỗi số nguyên từ 1 đến n đúng một lần. Ví dụ, p=[3,1,4,2,5] là một hoán vị độ dài 5.

Cho số nguyên n, hãy tìm một hoán vị p độ dài n sao cho trị tuyệt đối hiệu của hai phần tử kề nhau bất kỳ nằm trong đoạn từ 2 đến 4. Nói cách khác, cần thoả mãn

2≤|pi−pi+1|≤4với mọi 1≤i<n.

Nếu có nhiều hoán vị thoả mãn, in ra bất kỳ hoán vị nào. Nếu không tồn tại hoán vị nào thoả mãn, in ra −1.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t: số lượng bộ dữ liệu.
  • Mỗi dòng trong t dòng tiếp theo chứa một số nguyên n: độ dài hoán vị cần tìm.

Dữ liệu ra

In ra t dòng, dòng thứ i ứng với bộ dữ liệu thứ i: một hoán vị độ dài n thoả mãn điều kiện (các phần tử cách nhau bởi dấu cách), hoặc −1 nếu không tồn tại.

Ràng buộc

  • 1≤t≤100
  • 2≤n≤1000

Ví dụ

Input Output Giải thích
6
10
2
4
6
7
13
9 7 5 3 1 4 2 6 8 10
-1
3 1 4 2
5 3 1 4 2 6
7 5 3 1 4 2 6
13 11 9 7 5 3 1 4 2 6 8 10 12
Với n=10, các hiệu liên tiếp lần lượt là 2,2,2,2,3,2,4,2,2, đều nằm trong [2,4]. Với n=2 chỉ có hai hoán vị là [1,2] và [2,1], cả hai đều có hiệu bằng 1 nên đáp án là −1. Đáp án in ra không cần trùng với đáp án mẫu, chỉ cần hợp lệ.
7
4
3
5
4
4
4
4
3 1 4 2
-1
5 3 1 4 2
3 1 4 2
3 1 4 2
3 1 4 2
3 1 4 2
Với n=3, mọi cách sắp xếp ba số 1,2,3 đều buộc phải đặt hai số chênh nhau đúng 1 cạnh nhau, nên không tồn tại hoán vị hợp lệ.

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.402 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.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0