Purva čūska

4
Latvijas Informātikas olimpiādes logo
Uzdevums no Latvijas 39. (2025./2026. m.g.) informātikas olimpiādes (LIO) skolas kārtas.

Stāsts

Mitrā, aukstā purvā dzīvo veģetāra čūska, kurai ļoti garšo dzērvenes. Čūskai ir zināmas visas dzērveņu atrašanās vietas, un viņa grib apēst tās visas. Iespējams gan, ka ne visas var sasniegt. Purvā ir arī akači - bīstamas "dubļu" peļķes. Tajos čūska, protams, negrib ierāpot. Ir auksti.

Purva karti varam aprakstīt kā N×NN \times N rūtiņu laukumu. Akaču rūtiņas kartē apzīmētas ar #, bet dzērvenes - ar *. Ir zināma čūskas sākotnējā pozīcija un galvas virziens. Čūskas galva var skatīties vienā no četriem virzieniem: > (pa labi), v (uz leju), < (pa kreisi), ^ (uz augšu). Visas pārējās jeb tukšās rūtiņas apzīmēsim ar punktu.

Vienā gājienā čūska var pakustēties vienu rūtiņu uz priekšu (virzienā, kurā tobrīd skatās galva) vai pagriezties pa labi / pa kreisi un tad pakustēties vienu rūtiņu uz priekšu. Šīs darbības apzīmēsim attiecīgi ar F, L, R. Čūskas garums sākumā ir 11 - t.i., tikai galva, bet laika gaitā tā var kļūt garāka, apēdot dzērvenes. Apēdot dzērveni, čūskas garums palielinās par vienu rūtiņu. Čūskai garumā 2\geq 2 ir arī "aste", kas kustās līdzi.

Apskatīsim piemēru, kurā tiek veikti 1313 gājieni FFFLLLRFRFRLL un apēstas visas dzērvenes.

Jūsu uzdevums ir noskaidrot, vai čūska var apēst visas dzērvenes pie dotā laukuma! Ja var, tad jānoskaidro konkrēti gājieni. Šo gājienu skaits nav "jāminimizē", t.i., gājienu skaits jūsu atbildē drīkst arī pārsniegt mazāko iespējamo. Nedrīkst iziet ārā no purva. Zināms, ka dzērveņu nav pārāk daudz - ne vairāk kā 88, bet vismaz viena vienmēr ir.

Ievaddati

Pirmajā rindā dots laukuma izmērs NN (2N52 \leq N \leq 5).

Tālāk seko NN rindas, kas apraksta laukumu ar simboliem ., #, *, >, <, ^, v kā minēts stāstā.

Laukumā ir tieši viens no simboliem >, <, ^, v simbols un 11 līdz 88 * simboli.

Izvaddati

Ja apēst visas dzērvenes ir iespējams, drīkst izvadīt jebkuru derīgu variantu, kā čūska, veicot ne vairāk kā 10510^5 soļus, var visas ogas apēst.

Šādā gadījumā izvaddatu pirmajai rindai jāsatur atrastā varianta gājienu skaits, bet otrajai rindai jāsatur pašus gājienus - simbolus F, L, R.

Citādi, ja apēst visas dzērvenes nav iespējams, tad jāizvada viens vārds "NEVAR".

Piemēri

Ievaddati

4 v.** .#.* *.## **## Kopēt kodu

Izvaddati

12 FFFLLLRFRFFR Kopēt kodu

Ievaddati

4 v.** .#** **## **## Kopēt kodu

Izvaddati

NEVAR Kopēt kodu

Izpildes resursu ierobežojumi

CPU izpildes laiks uz testu: 0.5 sekundes.
RAM atmiņas apjoms uz testu: 256 megabaiti.

Apakšuzdevumi un to vērtēšana

#Apakšuzdevuma aprakstsPunkti
1.

N=2N=2

14
2.

N=3N=3

18
3.

Uz laukuma ir tieši 11 dzērvene

20
4.

N=4N=4

22
5.

Bez papildu ierobežojumiem

26
Apakšuzdevumu punktu summa = 100.