Prihlásenie Registrácia  

C - Bloky

Časový limit: 10000000 steps, Pamäťový limit: 10000000 chars

Programovací jazyk: Turing Machine

Počet bodov: 8

[ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ]

Úloha

Na páske sú zaradom uložené tri unárne kódované prirodzené čísla A, B a C oddelené práve jednou medzerou. Tvojou úlohou je prehodiť poradie blokov a vytvoriť konfiguráciu B, C, A.

Vstup

Páska je ohraničená z ľava. Počiatočný stav je s0. Hlava je nastavená na prvý znak čísla A, ktorý je vždy jednotka. Naľavo od hlavy je práve jeden znak nula a naľavo od neho už nie je páska. Povolené páskové písmená sú len 0 a 1. Na páske sa nachádzajú práve tri čísla A, B a C v unárnom kódovaní oddelené jednou medzerou.

Výstup

Dôležitá je presná konečná konfigurácia, teda znaky zapísané na páske, ktorá musí zodpovedať unárne kódovaným číslam B, C, A oddeleným práve jednou medzerou. Konečný stav a pozícia hlavy po skončení vykonávania algoritmu nie je podstatná, no nikdy sa nesmie dostať mimo pásku.

Priklad

Vstup:

-t1 -ot -sp
01
011101111101

Výstup:

011111010111

Vysvetlenie:

Prvé číslo je 2, druhé 4 a tretie 0. Výstup bude teda 4, 0 a 2.

Poznámka:

Vo vstupe sú uvedené parametre použité na testovanie pomocou programu palma_ts, môžete ich umiestniť do vstupného súboru.