Vòng Cổ K-Đẹp

Đề bài

Mô tả

Cửa hàng bán n hạt cườm, mỗi hạt có màu là một chữ cái tiếng Anh in thường (từ "a" đến "z"). Bạn muốn mua một số hạt để xâu thành một chiếc vòng cổ.

Một chiếc vòng cổ là một tập hợp các hạt được nối lại thành một vòng tròn. Bạn được phép chọn một tập con bất kỳ của các hạt và xâu chúng theo thứ tự tùy ý.

Một chiếc vòng cổ được gọi là k-đẹp nếu khi xoay nó theo chiều kim đồng hồ đi k vị trí thì vòng cổ vẫn giữ nguyên (không thay đổi). Ví dụ, một vòng cổ có độ dài 1k-đẹp với mọi k, và một vòng cổ mà tất cả các hạt cùng màu cũng là k-đẹp với mọi k.

Cho các số nguyên n, k và xâu s gồm n chữ cái mô tả màu các hạt trong cửa hàng. Hãy tìm độ dài lớn nhất của một chiếc vòng cổ k-đẹp có thể xâu được.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t là số lượng bộ dữ liệu.
  • Mỗi bộ dữ liệu gồm hai dòng:
    • Dòng thứ nhất chứa hai số nguyên nk.
    • Dòng thứ hai chứa xâu s gồm n chữ cái tiếng Anh in thường.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra một số nguyên dương là độ dài lớn nhất của chiếc vòng cổ k-đẹp có thể xâu được.

Ràng buộc

  • 1t100
  • 1n,k2000
  • Tổng n trên tất cả các bộ dữ liệu không vượt quá 2000.

Ví dụ

Input Output Giải thích
6
6 3
abcbac
3 6
aaa
7 1000
abczgyo
5 4
ababa
20 10
aaebdbabdbbddaadaadc
20 5
ecbedececacbcbccbdec
6
3
5
4
15
10
Bộ 1: dùng cả 6 hạt xâu thành vòng 3-đẹp. Bộ 2: cả 3 hạt "a" cùng màu nên 6-đẹp. Bộ 3: chọn 5 hạt "abzyo", vòng độ dài 5 là 1000-đẹp.
1
7 1782
abcabca
6 Chọn 6 hạt để tạo vòng 1782-đẹp; không thể dùng cả 7 hạ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.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