trang chủ / đề bài / voi17_qpalin

Xâu đối xứng

Đề bài

Mô tả

Một xâu ký tự được gọi là xâu đối xứng nếu đọc xâu đó từ trái qua phải cũng như đọc nó từ phải qua trái ta thu được cùng một xâu. Một xâu ký tự được gọi là xâu đối xứng cấp 0 nếu tồn tại một cách sắp xếp lại các ký tự của nó để thu được một xâu đối xứng.

Một xâu s=s1s2…sn gồm n ký tự (ta gọi n là độ dài của xâu s) được gọi là xâu đối xứng cấp k nếu nó thoả mãn các điều kiện sau:

  • s là xâu đối xứng cấp 0;
  • tồn tại k vị trí 1<i1<i2<…<ik<n, sao cho xâu con gồm ij ký tự đầu tiên của xâu s là xâu đối xứng cấp 0, j=1,2,…,k.

Dễ thấy, nếu một xâu là xâu đối xứng cấp k thì nó cũng là xâu đối xứng cấp m với 0≤m<k.

Ví dụ, các xâu ada, abba là các xâu đối xứng; xâu daa là xâu đối xứng cấp 0; xâu abab là xâu đối xứng cấp 1 (vị trí thoả mãn định nghĩa là i1=3); xâu ababd là xâu đối xứng cấp 2 (2 vị trí thoả mãn định nghĩa là i1=3 và i2=4).

Ký hiệu S(n,k,Ω) là dãy tất cả các xâu đối xứng cấp k độ dài n chỉ gồm các ký tự thuộc tập ký tự Ω được liệt kê theo thứ tự từ điển, đánh số bắt đầu từ 1.

Ví dụ, với n=3, k=1, Ω={'v','n'}, dãy S(3,1,{'v','n'}) gồm 4 xâu được liệt kê theo thứ tự từ điển và đánh số thứ tự bắt đầu từ 1 sau đây: nnn, nnv, vvn, vvv.

Yêu cầu: Cho n,k,Ω và số nguyên t, hãy đưa ra xâu thứ t trong dãy S(n,k,Ω).

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên không âm n,k (k≤n−2);
  • Dòng thứ hai chứa các ký tự của tập Ω được ghi nhận bởi một xâu gồm không quá 5 chữ cái in thường lấy từ tập 26 chữ cái tiếng Anh từ a đến z;
  • Dòng thứ ba chứa số nguyên dương t (t không lớn hơn số lượng phần tử của S(n,k,Ω)).

Các số trên cùng dòng được ghi cách nhau bởi dấu cách.

Dữ liệu ra

In ra xâu thứ t của dãy S(n,k,Ω).

Ràng buộc

  • 2≤n≤50;
  • 0≤k≤n−2;
  • Ω gồm từ 1 đến 5 chữ cái in thường khác nhau.

Subtasks

  • Subtask 1 (20% số test, 20% số điểm): 2≤n≤10; Ω={a,b};
  • Subtask 2 (20% số test, 20% số điểm): 2≤n≤10; k=0;
  • Subtask 3 (20% số test, 20% số điểm): 2≤n≤50; k=0; Ω={a,b};
  • Subtask 4 (20% số test, 20% số điểm): 2≤n≤50; k=0;
  • Subtask 5 (20% số test, 20% số điểm): 2≤n≤50.

Ví dụ

Input Output Giải thích
3 1
vn
2
nnv Dãy S(3,1,{'v','n'}) là nnn, nnv, vvn, vvv; xâu thứ 2 là nnv.
4 1
ba
3
abab Ví dụ thêm (không có trong đề gốc). Tiền tố độ dài 3 của mọi xâu độ dài 4 trên {a,b} đều là xâu đối xứng cấp 0, nên S(4,1,{a,b}) gồm cả 8 xâu đối xứng cấp 0: aaaa, aabb, abab, abba, baab, baba, bbaa, bbbb. Xâu thứ 3 là abab.

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