👤

Turn C++
Ionică are o cutie plină cu cuburi. Pe fiecare cub este scrisă o cifră. La un moment dat Ionică așează n cuburi unul peste altul formând un turn. Tatăl lui Ionică văzând turnul îi spune o cifră k și o modalitate de scoatere a unor cuburi din turn. Mai precis Ionică trebuie să scoată cuburi pentru a obține un turn cu înățimea minimă după următoarele reguli:

la un moment dat se poate scoate o grupă cu cel puțin k cuburi alăturate care au pe ele scrise aceeași cifră;
grupele se elimină începând de la baza turnului, de fiecare dată începând cu prima grupă ce respectă condiția anterioară.
Cerință
Să se scrie un program care să determine turnul final, după eliminarea tuturor grupelor de cuburi conform modalității precizate de tatăl lui Ionică.

Date de intrare
Fișierul de intrare turn.in are pe prima linie numerele naturale n și k separate printr-un spațiu, iar pe linia următoare cifrele scrise pe cuburi în ordine de la baza cubului spre vârf, separate între ele prin câte un spațiu.

Date de ieșire
Fișierul de ieșire turn.out va conține pe prima linie numărul de cuburi din turnul cerut, iar a doua linie cifrele de pe cuburile turnului (în ordine de la baza turnului până la vârful său) cu un spațiu între ele.

Restricții
2 ≤ n ≤ 49000
2 ≤ k ≤ 9
pentru toate testele turnul rezultat are cel puțin un cub


Răspuns :

Răspuns:

Evoluţia turnului este următoarea:

După eliminarea grupului de cuburi cu cifrele

2 2 2 se obţine:

1 0 0 0 0 7 7 5 5 5 5 5 7 7 7 3 9

După eliminarea grupului de cuburi cu cifrele

0 0 0 0 se obţine:

1 7 7 5 5 5 5 5 7 7 7 3 9

După eliminarea grupului de cuburi cu cifrele

5 5 5 5 5 se obţine:

1 7 7 7 7 7 3 9

După eliminarea grupului de cuburi cu cifrele

7 7 7 7 7 se obţine:

1 3 9

Evoluţia turnului este următoarea:

După eliminarea grupului de cuburi cu cifrele

2 2 2 2 se obţine:

1 1 1 3 3 3 3 3 1 1 4 4 4 4 4 1 1

După eliminarea grupului de cuburi cu cifrele

3 3 3 3 3 se obţine:

1 1 1 1 1 4 4 4 4 4 1 1

După eliminarea grupului de cuburi cu cifrele

1 1 1 1 1 se obţine:

4 4 4 4 4 1 1

După eliminarea grupului de cuburi cu cifrele

4 4 4 4 4 se obţine:

1 1