HSG9 Vĩnh Phúc 2025 - Xâu rút gọn
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Một xâu ~A~ được gọi là rút gọn của xâu ~B~ nếu ta có thể tạo ra ~A~ bằng cách xóa đi 0 hoặc nhiều ký tự trong ~B~ mà không thay đổi thứ tự các ký tự còn lại. Theo định nghĩa này, một xâu luôn là xâu rút gọn của chính nó.
Chẳng hạn:
- "ac", "ab", "aa" là các xâu rút gọn của "aabc";
- "d", "aaa", "ba" không phải là xâu rút gọn của "aabc".
Cho hai xâu ~S~ và ~T~ chỉ gồm các ký tự chữ cái tiếng Anh thường. Gọi ~T^n~ là xâu được tạo ra bằng cách nối ~n~ xâu ~T~ lại với nhau.
Hãy tìm giá trị nhỏ nhất của ~n~ sao cho ~S~ là một xâu rút gọn của xâu ~T^n~.
Yêu cầu: Hãy tìm giá trị nhỏ nhất của ~n~ thỏa mãn điều kiện trên. Nếu không tồn tại giá trị ~n~ như vậy thì in ra -1.
Input
- Dòng 1: xâu ~S~ với độ dài ~|S|~ (~1 \le |S| \le 10^6~).
- Dòng 2: xâu ~T~ với độ dài ~|T|~ (~1 \le |T| \le 10^5~).
Output
Dòng 1: số nguyên là giá trị ~n~ nhỏ nhất sao cho ~S~ là xâu rút gọn của ~T^n~. Nếu không tồn tại giá trị ~n~ như vậy thì in ra -1.
Sample Input 1
caa
ac
Sample Output 1
3
Giải thích: Ta có: ~T^1 = T = abc~, ~T^2 = abcabc~, ~T^3 = abcabcabc~. Với ~n = 3~ là giá trị nhỏ nhất sao cho ~S~ là xâu rút gọn của ~T^n~.
Sample Input 2
cab
acca
Sample Output 2
-1
Subtasks
- 8% điểm dành cho các test có ~S~ và ~T~ chỉ chứa ký tự 'a';
- 13% điểm khác dành cho các test có ~|S|, |T| \le 100~;
- 21% điểm khác dành cho các test có ~|S| \le 10^4, |T| \le 100~;
- 34% điểm khác dành cho các test có ~|S| \le 10^5, |T| \le 1000~;
- 24% điểm còn lại không có ràng buộc bổ sung.
Bình luận