Gần bằng nhau

Đề bài

Mô tả

Cho số nguyên n. Bạn cần sắp xếp các số từ 1 đến 2n, mỗi số xuất hiện đúng một lần, trên một vòng tròn, sao cho điều kiện sau được thỏa mãn:

Với mỗi n số liên tiếp trên vòng tròn, ghi tổng của chúng ra bảng. Khi đó, hai số bất kỳ trong 2n tổng được ghi trên bảng chênh lệch nhau không quá 1.

Ví dụ với n=3, một cách sắp xếp hợp lệ là 1,4,5,2,3,6 (vòng tròn): các tổng n=3 số liên tiếp là 1+4+5=10, 4+5+2=11, 5+2+3=10, 2+3+6=11, 3+6+1=10, 6+1+4=11 — chênh lệch tối đa là 1.

Dữ liệu vào

Một dòng duy nhất chứa một số nguyên n (1n105).

Dữ liệu ra

Nếu không tồn tại cách sắp xếp, in ra "NO" trên một dòng.

Ngược lại, in "YES" trên dòng đầu tiên. Dòng thứ hai in ra 2n số — các số từ 1 đến 2n theo thứ tự xuất hiện trên vòng tròn. Mỗi số chỉ được xuất hiện đúng một lần. Nếu có nhiều cách sắp xếp, in ra cách bất kỳ.

Ràng buộc

  • 1n105

Ví dụ

Input Output Giải thích
3 YES
1 4 5 2 3 6
Các tổng cửa sổ kích thước 3 trên vòng tròn lần lượt là 10,11,10,11,10,11, chênh lệch tối đa là 1.
4 NO Có thể chứng minh rằng với n=4 không tồn tại cách sắp xếp thỏa mãn.

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