Xoay xâu bằng nhau
Đề bài
Mô tả
Cho xâu chỉ gồm các chữ cái Latin thường và có độ dài bằng nhau.
Trong một bước, ta chọn một xâu , xoá ký tự đầu tiên của nó rồi nối ký tự đó vào cuối xâu. Ví dụ, xâu "coolmike" sau một bước sẽ trở thành "oolmikec".
Hãy tìm số bước ít nhất cần thực hiện để tất cả xâu trở nên giống hệt nhau, hoặc cho biết điều đó là không thể.
Dữ liệu vào
- Dòng đầu chứa số nguyên là số lượng xâu.
- dòng tiếp theo, dòng thứ chứa xâu .
Dữ liệu ra
In ra số bước ít nhất cần thiết để tất cả các xâu bằng nhau, hoặc nếu không tồn tại cách nào.
Ràng buộc
- Các xâu có độ dài bằng nhau, độ dài nằm trong khoảng từ đến
- Các xâu chỉ gồm chữ cái Latin thường
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 xzzwo zwoxz zzwox xzzwo |
5 | Đưa tất cả về xâu zwoxz: xâu thứ nhất cần bước, xâu thứ hai cần bước, xâu thứ ba cần bước, xâu thứ tư cần bước, tổng cộng bước. Không có xâu đích nào cho tổng nhỏ hơn. |
| 2 molzv lzvmo |
2 | Xoay xâu molzv hai bước ta được lzvmo, khi đó hai xâu bằng nhau. |
| 3 aa aa ab |
-1 | Xâu ab không thể trở thành aa bằng phép xoay, nên không có đáp án. |
| 3 kc kc kc |
0 | Ba xâu đã bằng nhau sẵn. |
Bình luận