Xâu của chú chim cánh cụt Polo

Đề bài

Mô tả

Cho hai số nguyên dương nk. Hãy tìm một xâu s thỏa mãn đồng thời các điều kiện sau:

  1. Xâu gồm đúng n chữ cái Latin thường (độ dài xâu bằng n), trong đó có đúng k chữ cái phân biệt được sử dụng.
  2. Không có hai chữ cái liền kề nào giống nhau, tức là sisi+1 với mọi 1i<n.
  3. Trong tất cả các xâu thỏa mãn điều kiện 1 và 2, xâu cần tìm là xâu có thứ tự từ điển nhỏ nhất.

Nếu không tồn tại xâu nào thỏa mãn, hãy in ra 1.

Xâu x=x1x2xp có thứ tự từ điển nhỏ hơn xâu y=y1y2yq nếu x là tiền tố thực sự của y, hoặc tại vị trí đầu tiên hai xâu khác nhau thì chữ cái của x có mã ASCII nhỏ hơn.

Dữ liệu vào

Một dòng chứa hai số nguyên dương nk (1n106, 1k26) là độ dài xâu và số chữ cái phân biệt.

Dữ liệu ra

In ra xâu cần tìm trên một dòng. Nếu không tồn tại, in ra 1.

Ràng buộc

  • 1n106
  • 1k26

Ví dụ

Input Output Giải thích
7 4 ababacd Xâu dài 7, dùng đúng 4 chữ cái phân biệt (a, b, c, d), không có hai chữ liền kề giống nhau, và nhỏ nhất theo thứ tự từ điển.
4 7 -1 Không thể dùng 7 chữ cái phân biệt trong một xâu chỉ dài 4.

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