Gửi bài giải
Điểm:
600,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Một xâu ~X~ ~=~ ~x~~1~~x~~2~~...x~~M~ được gọi là xâu con của xâu ~Y~ ~=~ ~y~~1~~y~~2~~...y~~N~ nếu chúng ta có thể tạo ra xâu ~X~ từ xâu ~Y~ bằng cách xóa đi một số ký tự. Điều này có nghĩa là tồn tại một dãy các chỉ số:
- ~1 ≤ i~~1~ ~< i~~2~ ~< ... < i~~M~ ~≤ N~ sao cho ~x~~1~ ~= y~~i~~1~~, x~~2~ ~= y~~i~~2~~, ..., x~~M~ ~= y~~i~~M~
Ví dụ
- Xâu ~X =~
adz
là xâu con của xâu ~Y =~baczdtz
. - Các chỉ số tương ứng là: ~i~~1~ ~= 2 < i~~2~ ~= 5 < i~~3~ ~= 7.~
Nhiệm Vụ: Liệt kê tất cả các xâu con khác nhau của xâu S.
Input
- Một dòng duy nhất chứa xâu ~S~ có độ dài không quá ~15.~
Output
- Dòng đầu tiên in ra số lượng xâu con.
- Các tiếp theo liệt kê các xâu con theo thứ tự (độ dài, alphabet).
Sample test 1
Input
aba
Output
6
a
b
aa
ab
ba
aba
Sample test 2
Input
abc
Output
7
a
b
c
ab
ac
bc
abc
Bình luận