Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

Az S. 76. feladat (2012. december)

S. 76. 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.

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ó.

A megoldáshoz segítségként néhány mintabemenet: s76peldabe.txt

(10 pont)

A beküldési határidő 2013. január 10-én LEJÁRT.


A feladat megoldását döntően Jákli Aida Karolina 10. osztályos zalaegerszegi diák és Kalló Kristóf 11. évfolyamos budapesti versenyző dokumentációja alapján készült: s76mo.pdf .

Mintaprogramként Vályi András 10. osztályos debreceni diák programját közöljük: s76va.cpp.


Statisztika:

7 dolgozat érkezett.
9 pontot kapott:Jákli Aida Karolina, Vályi András.
8 pontot kapott:2 versenyző.
7 pontot kapott:1 versenyző.
5 pontot kapott:1 versenyző.
3 pontot kapott:1 versenyző.

A KöMaL 2012. decemberi informatika feladatai