Cho một chuỗi 1và 2thời lượng bất kỳ, hãy viết một số mã (không phải là một chức năng nữa, mọi thứ sẽ tốt) để tính toán có bao nhiêu bước hiện nó cần phải thu nhỏ các chuỗi mẫu cuối cùng, sau tiêu chí này:
Nếu chuỗi của bạn là 112112, điều này có nghĩa là bạn phải in 1, hai 1 và 2, như thế này :
1112. Khi bạn thực hiện lại thao tác, bạn sẽ phải in 1 và 2. Bạn nhận được 12. Sau đó, bạn in một 2, lấy 2. Đây là một hình thức cuối cùng, vì chuỗi này sẽ không thay đổi nữa. Mã của bạn sẽ xuất ra 3, vì bạn cần 3 bước để đến mẫu cuối cùng.
Các quy tắc khác
Nếu chuỗi có độ dài không đồng đều, số cuối cùng vẫn còn nguyên.
Mỗi chuỗi không thể thay đổi nữa (như
222222) được coi là một hình thức cuối cùng.Bạn không thể sử dụng bất kỳ nguồn bên ngoài.
Mã của bạn phải hoạt động với mọi chuỗi
1và2.Mã ngắn nhất sẽ thắng, vì nó là mã golf.
Mã của bạn nên in mỗi bước.
Mọi phương thức nhập liệu sẽ ổn.
Ví dụ
Input >> 122122122121212212
Your code has to print:
211222111111222
11222111222
122111222
2111222
111222
1222
222
Steps:7 (you can omit the "Steps")
---- ---- ---- ----
Input >> 22222221
Your code has to print:
22222211
2222221
2
---- ---- ---- ----
Input >> 2222
Your code has to print:
0
EDIT: Chỉnh sửa nặng nề. Thành thật xin lỗi về điều đó.
1 11 2. Cứ hai số là một cặp: số thứ nhất của cặp cho biết số lần hiển thị số thứ hai trong cặp là bao nhiêu lần. Bất kỳ chữ số lẻ cuối cùng nào không có đối tác cặp được hiển thị nguyên trạng.