Điểm:
300 (p)
Thời gian:
1.0s
Bộ nhớ:
1023M
Input:
bàn phím
Output:
màn hình
Gọi phép dịch trái của một string \(t_1t_2t_3...t_{n-1}t_n\) là string \(t_2t_3...t_{n-1}t_nt_1\)
Gọi phép dịch phải của một string \(t_1t_2t_3...t_{n-1}t_n\) là string \(t_nt_1t_2t_3...t_{n-1}\)
Ví dụ: s = "4579" dịch trái là "5794", dịch phải là "9457"
Một string được gọi là good nếu phép dịch trái và phép dịch phải của nó bằng nhau.
Bạn được cho một string s chỉ bao gồm các kí tự từ 0 đến 9.
Hãy tính toán số lượng kí tự ít nhất cần xóa để làm cho string s trở thành good.
Input
- Dòng đầu tiên là số nguyên \(T (T \le 10)\) - là số lượng bộ dữ liệu.
- Mỗi bộ dữ liệu gồm một string \(s\) (\(s.size() \le 2*10^5\)).
Output
- Mỗi bộ dữ liệu in ra một số nguyên là số lượng ít nhất kí tự cần xóa để làm cho string s trở thành good.
Example
Test 1
Input
3
95831
100120013
252525252525
Output
3
5
0
Note
\(95831\) xoá 3 kí tự còn \(95\) là good string
\(100120013\) xoá 5 kí tự còn \(0000\) là good string
Test 3 đã là good string nên không cần xoá
Bình luận
nguồn: cf
1 bình luận nữa