trang chủ / đề bài / levkoperm

Levko và Hoán Vị

Đề bài

Mô tả

Cho hai số nguyên n và k. Hãy tìm một hoán vị p1,p2,…,pn của các số từ 1 đến n sao cho có đúng k chỉ số i thỏa mãn gcd(i,pi)>1.

Nếu không tồn tại hoán vị thỏa mãn, in ra −1.

Dữ liệu vào

Một dòng chứa hai số nguyên n và k (1≤n≤105, 0≤k≤n).

Dữ liệu ra

In ra n số nguyên là một hoán vị hợp lệ, hoặc in ra −1 nếu không tồn tại.

Nếu có nhiều hoán vị hợp lệ, in ra một hoán vị bất kỳ.

Ràng buộc

  • 1≤n≤105
  • 0≤k≤n

Ví dụ

Input Output Giải thích
4 2 2 1 3 4 gcd(2,1)=1, gcd(2,1)... Phần tử tốt: vị trí 2 có gcd(2,4)=2>1, vị trí 3 có gcd(3,3)=3>1. Có đúng 2 phần tử tốt.
1 1 -1 Không tồn tại hoán vị hợp lệ vì gcd(1,p1)=1 với mọi p1.

Ghi chú

Vị trí i được gọi là tốt nếu gcd(i,pi)>1. Vì gcd(1,x)=1 với mọi x, nên vị trí 1 không bao giờ là tốt, do đó không thể có k=n phần tử tốt.

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