Egy játéktábla 101 sorból áll, minden sorában pontosan háromszor annyi elem van, mint a fölötte levő sorban. A tábla a következő szerkezetű:
A tábla felső pontjából indulunk. Az egyes lépéseket a következők írják le:
- 0 balra lefelé lépünk egyet,
- 1 középen lefelé lépünk egyet,
- 2 jobbra lefelé lépünk egyet,
- 3 felfelé lépünk egyet,
- 4 balra lépünk egyet,
- 5 jobbra lépünk egyet.
Feladat
Írjunk programot, ami beolvas egy lépéssorozatot, amely elvezet a tábla valamely eleméhez, majd megad egy olyan lépéssorozatot, amely a legrövidebb úton vezet ugyanide!
Bemenet
A lepes.be állomány első sorában a lépések K száma van (1K100), a következő sorban pedig az egyes lépéseket leíró K darab szám, egy-egy szóközzel elválasztva. A lépéssorozat biztosan helyes, azaz nem hagyjuk el vele a játéktáblát.
Kimenet
A lepes.ki állomány első sorába a legrövidebb lépéssorozat L hosszát kell írni, amely a bemenetben kapott lépéssorozattal azonos helyre vezet! A második sorba pedig egy ilyen legrövidebb lépéssorozat kerüljön, azaz L szám, egy-egy szóközzel elválasztva!
Példa
Bemenet |
Kimenet |
6
0 2 5 3 1 5
|
2 1 2
|
Tesztadatok
Címkék
A feladat forrása: NTOITV 2013-2014, 2. forduló, 11-13. évfolyam
Algoritmusok:
|