Java programozás feladat – Robotok

A forrásban megadott sorok robotok mozgási irányait rögzítik a programjuk alapján. Minden sor egy robot mozgását rögzíti. A 4 fajta karakter egy-egy irányt jelent: Eszak, Kelet, Del, Nyugat. A robotok egy térképen mozognak, melyet a következőképp kell elképzelni:

Példatérkép, X-szel jelölve a kiindulási pont:

  -2-1 0 1 2
   _ _ _ _ _
-2|_|_|_|_|_|
-1|_|_|_|_|_|
 0|_|_|X|_|_|
 1|_|_|_|_|_|
 2|_|_|_|_|_|

A térkép mérete alaphelyzetben nem rögzített, csak ha a feladat megadja.

Oldd meg a következő feladatokat:

  1. Add meg minden robot útvonalának vég koordinátáit, ha azt feltételezzük, hogy a 0;0 pontból indultak!
  2. Add meg, hogy melyik robot milyen messze került a kezdőponttól az út végére!
  3. Melyik robot áll vízszintes irányban a legmesszebb a kezdőpontjától az út végén?
  4. Melyik robot jutott útvonala során legmesszebbre a kezdőpontjától?
  5. Add meg, melyek azok a robotok, melyek túlmentek volna egy 21×21-es tábla határain, melynek a középpontjából indultak!
  6. Melyek azok a robotok, melyek az elsővel azonos kezdőpontból indulva egyszer sem keresztezik annak útvonalát?
  7. Ha minden robotot egyszerre indítanánk azonos kezdőpontból, van-e olyan, amikor két robot 4 lépésen keresztül ugyanazokon a mezőkön halad?
  8. A robot bejárt területének azt a négyszöget nevezzük, melybe befoglalható a robot teljes útvonala. Melyik roboté a legkisebb terület?
  9. Melyik roboté a legnagyobb terület?
  10. Van-e olyan robot, melynek útvonala tartalmaz szabályos négyzetet?
  11. Azon robotok közül, melyek nem mozoghatnak egy 21×21-es táblán a középpontból indulva, van-e olyan, amelyik elhelyezhető úgy rajta, hogy ne menjen túl a határain?
  12. Van-e olyan robot, mely sehol nem helyezhető el egy 29×29-es táblán úgy, hogy ne menjen túl a határain?
  13. Vannak-e olyan robotok, melyek a középpontból indulva nem ütköznek össze az utánuk következő robottal, ha egyszerre indulnak?
  14. Melyik az a pillanat, amikor a legtöbb robot ütközne egy pontban, ha egy táblán mozognának és a középpontból indulnának?
  15. Tárold el a robotok egyszerűsített útvonalát is. Ha tesz egy lépést egy irányba, majd visszalép, ezeket a lépéseket töröld. Lett így olyan robot, amelyik már nem esik le a 21×21-es tábláról, ha a középpontból indult?
  16. Add meg, hogy robotonként mekkora az a legkisebb négyzet, melynek középpontjából indulva az eredeti útvonala alapján nem lépi át a határokat!
  17. Mekkora az a legkisebb négyzet melynek ugyanazon pontjából indulva egyik robot sem lépi át a határokat?
  18. Add meg, hogy robotonként mekkora az a legkisebb négyzet, melyben valahonnan indulva az eredeti útvonala alapján nem lépi át a határokat!
  19. Mekkora az a legkisebb négyzet melyben az összes robot elindítható egy pontból úgy, hogy egyik sem lépi át a határokat? (nem kell mindegyiket azonos kezdőpontból indítani)

A feladat a 2008 évi októberi emelt szintű informatika érettségi programozási feladatának felhasználásával készült.

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

*

Ez az oldal az Akismet szolgáltatást használja a spam csökkentésére. Ismerje meg a hozzászólás adatainak feldolgozását .