Mengingat string 1dan 2dari setiap panjang, menulis beberapa kode (tidak harus menjadi fungsi lagi, semuanya akan baik-baik saja) yang menghitung berapa banyak langkah apakah itu perlu untuk mengecilkan string ke bentuk akhir, berikut kriteria ini:
Jika string Anda adalah 112112, ini berarti bahwa Anda harus mencetak 1, dua 1s dan 2, seperti ini:
1112. Ketika Anda akan melakukan operasi lagi Anda harus mencetak 1 dan 2. Anda dapatkan 12. Kemudian Anda mencetak satu 2, dapatkan 2. Ini adalah bentuk final, karena string ini tidak akan berubah lagi. Kode Anda akan ditampilkan 3, karena Anda memerlukan 3 langkah untuk sampai ke bentuk akhir.
Peraturan Lainnya
Jika string memiliki panjang yang tidak rata, angka terakhir tetap tidak tersentuh.
Setiap string yang tidak dapat diubah lagi (seperti
222222) dianggap sebagai bentuk akhir.Anda tidak dapat menggunakan sumber eksternal apa pun.
Kode Anda harus bekerja dengan setiap string dari
1dan2.Kode terpendek menang, karena kode-golf.
Kode Anda harus mencetak setiap langkah.
Setiap metode input akan baik-baik saja.
Contohnya
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: Sangat diedit. Maaf soal itu.
1 11 2. Setiap dua angka adalah pasangan: angka pertama dari pasangan mengatakan berapa kali untuk membuat angka kedua dalam pasangan. Digit ganjil akhir tanpa pasangan pasangan diberikan apa adanya.