Egy játéktábla 101 sorból áll, minden sorában pontosan kétszer 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 jobbra lefelé lépünk egyet,
- 2 felfelé lépünk egyet,
- 3 balra lépünk egyet,
- 4 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 tabla.be állomány első sorában a lépések K száma van (1<=K<=100) , 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 tabla.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 1 4 2 1 0
|
3
1 1 0
|
Tesztadatok
Címkék
A feladat forrása: NTOITV 2013-2014, 2. forduló, 9-10. évfolyam
Algoritmusok:
|