Biorąc pod uwagę listę liczb w formacie skróconej sekwencji liczb całkowitych, wypisz sekwencję w całości.
Skrócony format sekwencji liczb całkowitych działa poprzez znalezienie każdej liczby n mniejszej liczby cyfr niż liczba poprzedzająca, m . Gdy d jest liczbą cyfr w n , ostatnie d cyfry m są zastępowane wszystkimi cyframi n . Oto przykładowe dane wejściowe:
123 45 6 7 89 200
Stosując regułę wymiany, najpierw zamieniamy 45 na 145, ponieważ 45 <123:
123 145 6 7 89 200
Wielokrotnie stosując tę samą regułę, staje się to:
123 145 146 7 89 200
123 145 146 147 89 200
123 145 146 147 189 200
Sekwencja jest teraz posortowana (nie ma liczb, których dotyczy reguła), więc jest to wynik końcowy.
Możesz to założyć
Skrótowa notacja jest zawsze używana, gdy jest to możliwe. Na przykład wejście będzie
12 3, nigdy12 13.liczby nigdy się nie zmniejszają, pozostając przy tej samej liczbie cyfr. Na przykład dane wejściowe nigdy nie będą
333 222.zastosowanie reguły skróconej nigdy nie spowoduje, że liczba będzie nadal mniejsza niż poprzednia liczba w sekwencji. Na przykład dane wejściowe nigdy nie będą
123 12.liczby zawsze będą dodatnimi liczbami całkowitymi i nigdy nie będą zawierać początkowych zer (w przypadku formatu ciągów).
pełna, rozszerzona sekwencja nigdy nie będzie zawierać duplikatów liczb. (Jednak sekwencja skrótów może; np.
10 1 20 1->10 11 20 21.)na wejściu będzie co najmniej jedna liczba.
Dane wejściowe i wyjściowe mogą być listami / tablicami liczb / ciągów znaków lub pojedynczym ciągiem znaków z elementami oddzielonymi dowolnymi cyframi.
Ponieważ jest to code-golf , wygra najkrótszy kod w bajtach.
Przypadki testowe, z wejściem i wyjściem w liniach przemiennych:
1 2 3 10 1 2 20 5 100 200 10 3 5 26 9 99 999 9999
1 2 3 10 11 12 20 25 100 200 210 213 215 226 229 299 999 9999
223 1184 334 441 5 927 2073 589 3022 82 390 5 9
223 1184 1334 1441 1445 1927 2073 2589 3022 3082 3390 3395 3399
5 10 5 20 5 30 5 40 5 50 5
5 10 15 20 25 30 35 40 45 50 55
7 8 9 70 80 90 700 800 900 7000 8000 9000
7 8 9 70 80 90 700 800 900 7000 8000 9000
42
42