Biorąc pod uwagę ciąg 1i 2dowolnej długości, napisać trochę kodu (nie musi być funkcji już wszystko będzie dobrze), który oblicza, ile kroków to trzeba zmniejszyć ciąg do ostatecznej formie, w następstwie tego kryterium:
Jeśli łańcuch jest 112112, oznacza to, że trzeba wydrukować 1, dwie 1s i 2, podobnie jak to:
1112. Kiedy ponownie wykonasz operację, będziesz musiał wydrukować 1 i 2. Dostajesz 12. Następnie drukujesz jeden 2, otrzymując 2. To jest ostateczna forma, ponieważ ten ciąg nie będzie się już zmieniać. Twój kod wyświetli się 3, ponieważ potrzebujesz 3 kroków, aby przejść do ostatecznego formularza.
Inne zasady
Jeśli ciąg ma nierówną długość, ostatni numer pozostaje nietknięty.
Każdy ciąg znaków, który nie może się już zmienić (jak
222222), jest uważany za formę ostateczną.Nie możesz użyć żadnego zewnętrznego źródła.
Twój kod musi działać z każdym ciągiem
1i2.Wygrywa najkrótszy kod, ponieważ jest to golf golfowy.
Twój kod powinien być drukowany na każdym kroku.
Każda metoda wprowadzania będzie w porządku.
Przykłady
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
EDYCJA: Mocno edytowana. Bardzo mi przykro z tego powodu.
1 11 2. Co dwie liczby są parą: pierwsza liczba pary mówi, ile razy ma być renderowana druga liczba w parze. Każda ostatnia cyfra nieparzysta bez partnera pary jest renderowana w stanie „jak jest”.