Đưa ra một chuỗi các chữ cái và một tập hợp các từ, xuất ra một thứ tự các từ để có thể tìm thấy chúng trong chuỗi bằng cách bỏ các chữ cái không cần thiết. Từ có thể xảy ra nhiều hơn một lần trong bộ từ. Chuỗi đầu vào và tất cả các từ sẽ bao gồm từ 1 đến 1000 chữ cái viết thường. Các chữ cái được bỏ có thể xảy ra bên trong các từ hoặc giữa các từ.
Chương trình hoặc chức năng của bạn có thể chấp nhận chuỗi ký tự và từ dưới dạng danh sách, chuỗi hoặc từ STDIN và phải xuất tất cả các từ theo đúng thứ tự dưới dạng danh sách hoặc đầu ra chuỗi. Nếu có nhiều hơn một giải pháp đúng, chỉ xuất một trong số chúng. Nếu không có giải pháp đúng có thể, hãy đưa ra một danh sách trống hoặc một chuỗi trống.
Ví dụ:
dogcatfrog cat frog dog
-> dog cat frog
xxcatfixsxhingonxgrapexxxfishingcxat cat grape catfish fishing
-> catfish grape fishing cat
dababbabadbaccbcbaaacdacdbdd aa bb cc dd ba ba ba ab ac da db dc
-> da ab ba ba ba cc bb aa ac dc db dd
flea antelope
->
(no solution)
Đây là mã golf. Số byte thấp nhất sẽ thắng.
Chỉnh sửa: Giải thích rằng các ký tự phụ có thể nằm trong các từ.
cc
trước bb
nhưng bb
và cc
chuỗi con chỉ xuất hiện một lần và các bb
chuỗi con xuất hiện đầu tiên.
ccbcb
phần của chuỗi chúng ta xuất đầu ra cc
sau đó bb
sau khi thả giữa c
.