Nhiệm vụ
Một chuỗi S
được xây dựng theo quy trình sau:
- Bắt đầu với
S
chuỗi trống. - Chèn tại một số vị trí của
S
một chuỗi của biểu mẫuds
, trong đód
là một chữ số khác vàs
là một chuỗi cácd
chữ cái ASCII viết thường. Chúng tôi nóids
là một thành phần củaS
. - Chuyển đến bước 2 hoặc dừng lại.
Nhiệm vụ của bạn là lấy một chuỗi như vậy làm đầu vào và xuất các thành phần của nó được nối thành một chuỗi, theo thứ tự xuất hiện các chữ số hàng đầu của chúng. Đầu ra phải là một chuỗi đơn và không thể có bất kỳ dấu phân cách nào (bao gồm cả dòng mới) giữa các thành phần. Bạn có thể chọn xem chuỗi đầu vào và đầu ra có dấu ngoặc kép hay không. Lưu ý rằng đầu vào và đầu ra sẽ không bao giờ trống.
Thí dụ
Hãy xây dựng một chuỗi với quy trình trên. Cấu trúc của các thành phần được nêu bật trong kết quả cuối cùng.
S = "" // Insert "3abc"
S = "3abc" // Insert "2gh" after 'a'
S = "3a2ghbc" // Insert "1x" before '3'
S = "1x3a2ghbc" // Insert "3tty" after '3'
S = "1x33ttya2ghbc" // Final result
└┘│└┴┴┘│└┴┘││
└────┴───┴┘
Đầu ra thu được bằng cách ghép các thành phần theo thứ tự các chữ số của chúng. Trong trường hợp này, đầu ra chính xác là
"1x3abc3tty2gh"
Quy tắc và tính điểm
Bạn có thể viết một chương trình đầy đủ hoặc một chức năng. số byte thấp nhất sẽ thắng và các sơ hở tiêu chuẩn không được phép.
Các trường hợp thử nghiệm
1k -> 1k
4asdf -> 4asdf
111xyz -> 1z1y1x
8whatever3yes -> 8whatever3yes
8what3yesever -> 8whatever3yes
1x33ttya2ghbc -> 1x3abc3tty2gh
63252supernestedstrings2ok -> 6trings3eds2st5perne2su2ok
9long3yes4lo2ngwords11here -> 9longrdsre3yes4lowo2ng1e1h
9abc8de7fg6hi5jk4lm3o2pq1rstuvwxyzabcdefghijklmnopqrst -> 9abcopqrst8deijklmn7fgdefgh6hizabc5jkwxy4lmuv3ost2pq1r
if z in k:m+=N(z)+1
.