Laiko ribojimas: 1s
Atminties ribojimas: 64MB
Duomenų failas: klajone.in
Rezultatų failas: klajone.out
Klajonė
Plokštumoje gyvena robotas, mėgstantis klajoti. Vieną dieną jis sugalvojo įdomią klajonę ir sukūrė programą, kurią vykdys klajodamas. Programą sudaro n funkcijų . Funkcija yra komandų seka. Komandos gali būti:
- GO: pajudėti 1 metrą priekin;
- LEFT: pasisukti 90 laipsnių kairėn;
- RIGHT: pasisukti 90 laipsnių dešinėn;
- Fk: įvykdyti funkcijos komandas, tada tęsti dabartinę funkciją.
Robotas klajonę pradeda savo namuose, taške (0, 0), ir vykdo funkciją .
Pavyzdžiui, programa gali būti tokia:
: GO F2 GO F2 GO F2
: F3 F3 F3 F3
: GO LEFT
Roboto klajonė pavaizduota paveikslėlyje.
Kai kuriais atvejais, klajonė gali nesibaigti. Pavyzdžiui, jei yra GO F1, robotas nesustodamas judės į priekį.
Robotui dabar įdomu, kaip toli jis nuklajos. Visų taškų, kuriuos jis aplankys, aibėje raskite didžiausią reikšmę.
Pradiniai duomenys
Pirmoje eilutėje yra vienas sveikasis skaičius n (). Tolesnėse n eilutėse aprašomos funkcijos. i-ojoje eilutėje yra funkcijos komandų kiekis () ir komandų.
Rezultatai
Vienintelėje eilutėje turi būti didžiausia reikšmė arba žodis Infinity, jei ta reikšmė yra begalinė.
Pavyzdžiai
Duomenys | Rezultatai |
---|---|
3 6 GO F2 GO F2 GO F2 4 F3 F3 F3 F3 2 GO LEFT |
5 |
1 2 GO F1 |
Infinity |
4 2 GO F2 7 LEFT GO GO GO F3 LEFT F4 5 GO F4 RIGHT F2 RIGHT 7 GO GO LEFT LEFT GO LEFT GO |
13 |