Xem xét danh sách các từ được sắp xếp theo thứ tự abc sau đây:
balderdash
ballet
balloonfish
balloonist
ballot
brooding
broom
Tất cả các từ bắt đầu bằng b
, và 5 từ đầu tiên bắt đầu bằng bal
. Nếu chúng ta chỉ nhìn vào 2 từ đầu tiên:
balderdash
ballet
chúng ta có thể viết thay thế:
balderdash
+let
trong đó từ ' '
được sử dụng trong đó một từ chia sẻ một ký tự tiền tố với từ trước đó; ngoại trừ '+'
ký tự chỉ ra ký tự LAST trong đó từ thứ hai chia sẻ tiền tố với từ trước đó.
Đây là một loại hình ảnh 'trie' : cha mẹ là ' bal
' và có 2 con cháu: 'derdash'
và 'let'
.
Với danh sách dài hơn, chẳng hạn như:
balderdash
ballet
brooding
chúng ta cũng có thể sử dụng ký tự ống '|'
để làm cho nó rõ ràng hơn ở nơi tiền tố được chia sẻ kết thúc, như sau:
balderdash
| +let
+rooding
và cây tương đương sẽ có một gốc là 'b'
có hai con: cây con có gốc 'al'
và hai con của nó 'derdash'
và 'let'
; và 'rooding'
.
Nếu chúng tôi áp dụng chiến lược này vào danh sách ban đầu của chúng tôi,
balderdash
ballet
balloonfish
balloonist
ballot
brooding
broom
chúng tôi nhận được đầu ra trông như:
balderdash
| +let
| +oonfish
| | +ist
| +t
+rooding
+m
Nếu hai từ liên tiếp trong danh sách không có tiền tố dùng chung, không có ký tự đặc biệt nào được thay thế; ví dụ cho danh sách:
broom
brood
crude
crumb
chúng tôi muốn đầu ra:
broom
+d
crude
+mb
Đầu vào
Các từ trong đầu vào sẽ chỉ được tạo thành từ chữ và số (không có dấu cách hoặc dấu chấm câu); nó có thể ở dạng một danh sách các chuỗi, một chuỗi hoặc bất kỳ cách tiếp cận hợp lý nào khác, miễn là bạn chỉ định định dạng đã chọn. Không có hai từ liên tiếp sẽ giống nhau. Danh sách sẽ được sắp xếp theo thứ tự abc.
Đầu ra
Đầu ra của bạn có thể chứa khoảng trắng theo sau trên mỗi dòng hoặc tổng cộng, nhưng không có khoảng trắng hàng đầu. Một danh sách các chuỗi hoặc tương tự cũng sẽ được chấp nhận.
Đây là môn đánh gôn ; mã ngắn nhất trong mỗi ngôn ngữ vẫn giữ quyền khoe khoang. Các lệnh cấm thông thường chống lại sơ hở được áp dụng.
Các trường hợp thử nghiệm
Input:
apogee
apology
app
apple
applique
apply
apt
Output:
apogee
|+logy
+p
|+le
| +ique
| +y
+t
Input:
balderdash
ballet
balloonfish
balloonist
ballot
brooding
broom
donald
donatella
donna
dont
dumb
Output:
balderdash
| +let
| +oonfish
| | +ist
| +t
+rooding
+m
donald
| |+tella
| +na
| +t
+umb
+
dưới quyền đầu tiên o
, nhưng tôi đã không viết thử thách nên tôi không chắc chắn.
ball
sauballoon
. Sản lượng nào chúng ta nên mong đợi?