Biến đổi xâu
Đề bài
Mô tả
Cho xâu độ dài gồm các chữ cái Latin in thường. Thực hiện phép biến đổi sau với một số nguyên ():
Với chạy từ đến , lần lượt đảo ngược đoạn con của .
Ví dụ, với qwer và , xâu biến đổi theo từng bước:
- qwer (ban đầu)
- wqer (đảo ngược đoạn )
- weqr (đảo ngược đoạn )
- werq (đảo ngược đoạn )
Kết quả cuối cùng là werq.
Hãy tìm giá trị sao cho xâu thu được sau phép biến đổi có thứ tự từ điển nhỏ nhất. Nếu có nhiều cho cùng kết quả nhỏ nhất, xuất giá trị nhỏ nhất trong số đó.
Dữ liệu vào
Dòng đầu chứa số nguyên — số bộ test.
Mỗi bộ test gồm hai dòng:
- Dòng đầu chứa số nguyên — độ dài của xâu .
- Dòng thứ hai chứa xâu độ dài gồm các chữ cái Latin in thường.
Dữ liệu ra
Với mỗi bộ test, in ra hai dòng:
- Dòng đầu: xâu có thứ tự từ điển nhỏ nhất có thể đạt được.
- Dòng thứ hai: giá trị nhỏ nhất tương ứng.
Ràng buộc
- Tổng trên tất cả bộ test không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 6 4 abab 6 qwerty 5 aaaaa 6 alaska 9 lfpbavjsm 1 p |
abab 1 ertyqw 3 aaaaa 1 aksala 6 avjsmbpfl 5 p 1 |
Với abab: giữ nguyên xâu, cho baba, cho abab, cho baba. Giá trị nhỏ nhất cho xâu nhỏ nhất là . |
| 1 3 bab |
abb 2 |
Với : bab abb. Với : bab bab. Kết quả nhỏ nhất là abb với . |
Bình luận