Feladat: S.76 Korcsoport: - Nehézségi fok: -
Füzet: 2012/december, 553 - 554. oldal  PDF  |  MathML 

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

A Véletlen Vasút játékgyár játékvasút építéséhez alkalmas egymáshoz illeszthető pályaelemeket, mozdonyt és vasúti kocsikat rak egy-egy megvásárolható csomagba. Az egyes pályaelemekből minden csomagba más és más darabszámú kerül. A cég arra törekszik, hogy minden csomagba úgy válogassa az elemeket, hogy azok mindegyikének fölhasználásával olyan pálya legyen építhető, amelynek valamely pontjáról elindított vonat bejárja a teljes pályát és visszatér az indulási helyre. Tehát az egyszer elindított vonat addig járja a pályát, amíg a mozdony bírja.
A VV játékcég nem ad segítséget a pályák építéséhez, így a vásárlók és gyermekeik sokszor nem tudják megépíteni a fent vázolt ideális vasutat. Ellenben a cég ígéri, hogy bárki, akinek a csomagjából nem készíthető ideális pálya, egy második csomagot kap ajándékba. A pályaépítés nehézsége és a cég csábító ajánlata miatt több vásárló lapunktól kér segítséget. Kérésük az, hogy a pályaelemek ismeretében adjunk meg egy ideális pályát, illetve ha ez nem lehetséges, akkor lehetőleg adjunk útmutatást arra vonatkozóan, hogy az ideális pálya miért nem építhető meg.
A vasútépítő csomagban a következő, mindkét oldalukon kerékvájatot tartalmazó pályaelemek fordulnak elő: két egység hosszú egyenes szakasz; egy egység sugarú negyed körív; mindkét irányban két egység hosszú, merőleges kereszteződés, ahol a pályák középen metszik egymást.

 
 

Az íves elem így balra és jobbra kanyarodó elemként is fölhasználható. Az ideális pályán a kereszteződések mindkét merőleges irányához csatlakozik a pálya. A pályaelemek csak a csatlakozó végükkel érintkeznek egymással, másképp nem. A cég legalább 25, de legföljebb 35 pályaelemet helyez minden csomagba úgy, hogy nincs benne négynél több kereszteződés. Készítsünk programot, amely a standard bemenet egyetlen sorából rendre beolvassa a kereszteződések, az egyenes elemek és az íves elemek számát, majd ‐ amennyiben felépíthető egy ideális pálya ‐ a standard kimenetre ír egy ideális pályát valamely pontjából elindulva és bejárva. A kereszteződéseken való áthaladáskor X, az egyenes elemeknél E, a balra és jobbra fordulásoknál B és J karakterek jelentik az egyes pályaelemeket. Amennyiben nem lehetséges ideális pályát készíteni az elemekből, akkor a kimenet első sorába írjuk a ,,Nem lehet ideális pályát készíteni.'' mondatot, míg a következő sorába ‐ amennyiben tudunk ‐ egy rövid indoklást arról, hogy miért nem.
 
Példa bemenetPélda kimenet2 10 18EXEBBJBBEXJBEXBEBJBEBBEJEXEJEJBJ0 17 11Nem lehet ideális pályát építeni.Az íves elemek száma páratlan, így a pályána teljes elfordulások összege nem 360 fokegész számszorosa.
 

Beküldendő egy tömörített s76.zip állományban a program forráskódja (s76.pas, s76.cpp, ...) az .exe és más, a fordító által generált állományok nélkül, a program rövid dokumentációja (s76.txt, s76.pdf, ...), amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrás mely fejlesztői környezetben fordítható.