Prihlásenie Registrácia  

B - Druhé najmenšie

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

Programovací jazyk: Turing Machine

Počet bodov: 6

[ 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 X, Y, Z oddelené práve jednou medzerou. Vyberte z nich druhé najmenšie.

Vstup

Páska je ohraničená z ľava. Počiatočný stav je s0. Hlava je nastavená na prvý znak, ktorý je vždy nula. Prvý znak čísla X začína napravo od nej. Naľavo od hlavy 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 X, Y a Z v unárnom kódovaní oddelené jednou medzerou.

Výstup

Na páske treba ponechať počet jednotiek rovnajúci sa druhému najmenšiemu číslu z X, Y, Z. Nie je dôležité, v akom stave skončí stroj a kde zastane hlava.

Priklad 1

Vstup:

-t1 -oc
01
011101011111

Výstup:

2

Vysvetlenie:

Prvé číslo je 2, druhé 0 a tretie 4. Druhé najmenšie číslo je 2, na páske majú teda zostať práve dve jednotky.

Priklad 2

Vstup:

-t1 -oc
01
011111101110111111

Výstup:

5

Vysvetlenie:

Prvé číslo je 5, druhé 2 a tretie 5. Druhé najmenšie číslo je 5, na páske má teda zostať práve päť jednotiek.

Poznámka:

Vo vstupe sú uvedené parametre použité na testovanie pomocou programu palma_ts, môžete ich umiestniť do vstupného súboru. Pozor! Zmenil sa spôsob zápisu Turingovho stroja! Aktuálny spôsob nájdete popísaný v sekcii Dokumenty.