trang chủ / bài tập / kthbeaut

Xâu đẹp thứ K

Đề bài

Mô tả

Với số nguyên n (n>2) cho trước, ta viết ra tất cả các xâu độ dài n gồm đúng n2 chữ cái 'a' và đúng 2 chữ cái 'b', xếp theo thứ tự từ điển (bảng chữ cái).

Ví dụ với n=5, danh sách các xâu (thứ tự quan trọng) là:

  1. aaabb
  2. aabab
  3. aabba
  4. abaab
  5. ababa
  6. abbaa
  7. baaab
  8. baaba
  9. babaa
  10. bbaaa

Có thể chứng minh danh sách này chứa đúng n·(n1)2 xâu.

Cho nk, hãy in ra xâu thứ k trong danh sách nói trên.

Dữ liệu vào

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

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra trên một dòng xâu thứ k trong danh sách các xâu độ dài n được mô tả ở trên.

Ràng buộc

  • 1t104
  • 3n105
  • 1kmin(2·109,n·(n1)2)
  • Tổng của n trên tất cả các bộ dữ liệu không vượt quá 105.

Ví dụ

Input Output Giải thích
7
5 1
5 2
5 8
5 10
3 1
3 2
20 100
aaabb
aabab
baaba
bbaaa
abb
bab
aaaaabaaaaabaaaaaaaa
Với n=5: xâu thứ 1 là aaabb, thứ 2 là aabab, thứ 8 là baaba, thứ 10 là bbaaa. Với n=3 danh sách là abb, bab, bba nên thứ 1 là abb, thứ 2 là bab.
1
4 3
abba Với n=4 danh sách là aabb, abab, abba, baab, baba, bbaa; xâu thứ 3 là abba. Xâu nhỏ nhất luôn đặt cả hai chữ 'b' ở cuối.

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