Laiko ribojimas: 1.0s
Atminties ribojimas: 128MB
Duomenų failas: lmio_2014_ketursraigtis_jau.in
Rezultatų failas: lmio_2014_ketursraigtis_jau.out
Ketursraigtis (LMIO 2014)
Linas įsigijo ketursraigtį, kuriam pats rašys programas mašininiu kodu.
Ketursraigčio procesorius gali vykdyti dviejų tipų komandas: skristi nurodytą teigiamą metrų skaičių viena iš šešių krypčių arba pakartoti buvusią komandą nurodytą skaičių kartų.
Komandos koduojamos sveikaisiais skaičiais nuo 0 iki 6, po kurių eina sveikasis skaičius, nurodantis komandos parametrą:
Komanda | Veiksmas | Pavyzdys | Paaiškinimas |
---|---|---|---|
0 |
Skrisk pirmyn |
0 3 |
Skrisk pirmyn tris metrus |
1 |
Skrisk atgal |
1 3 |
Skrisk 3 metrus atgal |
2 |
Skrisk kairėn |
2 5 |
Skrisk kairėn 5 metrus |
3 |
Skrisk dešinėn |
3 2 |
Skrisk dešinėn 2 metrus |
4 |
Skrisk į viršų |
4 3 |
Skrisk į viršų tris metrus |
5 |
Skrisk žemyn |
5 1 |
Skrisk žemyn 1 metrą |
6 |
Pakartok paskutinę komandą |
6 3 |
Pakartok prieš tai buvusią komandą 3 kartus. Pastaba. Pati komanda negali kartotis, t.y., negali būti dviejų ar daugiau iš eilės einančių komandų su kodu 6. Taip pat ji negali būti pirma komanda ketursraigčio valdymo programoje |
Linas nori išbandyti ketursraigtį tuščiame kubo formos name: jį paleis iš kambario centro taip, kad skrydžio kryptys būtų lygiagrečios ar statmenos kambario sienoms, luboms, grindims.
Užduotis
Linas parašė programą ketursraigčiui valdyti. O jūs parašykite programą, kuri nustatytų, ar saugu ketursraigčiui skraidyti vykdant Lino programą, t.y. ar jis nesusidurs su sienomis, lubomis ar grindimis.
Laikykite, kad ketursraigtis skraido saugiai, jeigu atstumas iki visų kambario sienų, lubų ir grindų yra teigiamas.
Pradiniai duomenys
Pirmoje eilutėje įrašyti du skaičiai: ketursraigčio programoje esančių komandų skaičius ir kambario matmuo .
Tolesnėse eilučių įrašyta po du komandą nusakančius skaičius. Komandos vykdomos ta tvarka kuria yra parašytos.
Rezultatai
Jei programa tokia, kad ketursraigtis gali skraidyti pagal ją nepatirdamas avarijų, reikia išvesti žodį , kitu atveju reikia išvesti skaičių nuo 0 iki 5, kuris parodytų kuria kryptimi skrisdamas ketursraigtis patirs avariją.
Pavyzdžiai
Pradiniai duomenys | Rezultatai | Paaiškinimas |
---|---|---|
2 4 1 1 6 3 |
1 |
Ketursraigtis patirs avariją, nes kiekviena kryptimi jis gali skristi tik po 1 metrą: kambario matmenys yra , o atstumas nuo kambario centro iki sienų, lubų ir grindų yra 2 metrai. |
5 30 3 2 1 1 6 3 4 1 6 2 |
GERAI |
Ribojimai
Komandose nuo iki komandos nuskrendamų metrų skaičius neviršija .
Komandoje pasikartojimų skaičius neviršija .