CSES - Creating Strings | Tạo xâu

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 900 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho một xâu, nhiệm vụ của bạn là đưa ra kết quả của tất cả các xâu có thể được tạo ra sử dụng những kí tự của xâu đã cho.

Input

  • Một dòng chứa một xâu có độ dài \(n\). Các kí tự nằm trong phạm vi từ a-z.

Output

  • Dòng đầu tiên in ra số \(k\) (với \(k\) là số xâu có thể được tạo ra từ xâu ban đầu)
  • Sau đó, in ra \(k\) dòng là các xâu được sắp xếp theo thứ tự từ điển

Constraints

  • \(1 \leq n \leq 8\)

Example

Test 1

Input
aabac
Output
20
aaabc
aaacb
aabac
aabca
aacab
aacba
abaac
abaca
abcaa
acaab
acaba
acbaa
baaac
baaca
bacaa
bcaaa
caaab
caaba
cabaa
cbaaa

Bình luận (8)

Mới nhất
Tải bình luận...