Feladat: I.457 Korcsoport: - Nehézségi fok: -
Füzet: 2018/május, 293. oldal  PDF  |  MathML 
Témakör(ök): Feladat, Programozás, algoritmusok

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.

Egy síkon K darab pálcika fekszik ‐ a Marokkó nevű játékhoz hasonlóan ‐ melyeket pozitív egész számokkal azonosítunk. A pálcikák elhelyezkedése véletlenszerű, egymást úgy keresztezhetik, hogy a nagyobb azonosítójú van mindig feljebb. A pálcikák végpontjainak koordinátái egész számok. A pálcikák egyesével gyűjthetők össze úgy, hogy egy pálcika elvételekor a többi pálca nem mozdulhat meg: az a pálcika vehető el, amelyet felülről nem keresztez másik. Két pálcika végpontjának találkozása nem számít keresztezésnek.
Készítsünk programot i457 néven, amely a pálcikák azonosítójának egy olyan sorrendjét adja meg, amellyel a pálcikák mindegyike elvehető úgy, hogy minden lépésben az elvehető pálcikák közül a legkisebb sorszámút választjuk.
A program standard bemenetének első sorában a pálcikák K (2K50) számát és az ezt követő K sorban a pálcikák azonosítóját és végpontjainak (x1,y1) és (x2,y2) (1x1,y1,x2,y250) koordinátáit adjuk meg. A program írja ki a standard kimenetre a pálcikák azonosítójának szóközzel elválasztott sorrendjét, amely megadja az összes pálcika elvételének megfelelő sorrendjét.

 
Példa a bemenetre (a /  sortörést jelöl):Kimenet9   4 3 1 5 6 8 2 7 9   1 17 29 18 19 / 2 26 27 19 20 / 3 22 29 15 22   4 18 14 15 24 / 5 20 14 18 24 / 6 20 22 22 12   7 25 19 19 11 / 8 23 14 21 24 / 9 29 28 27 38
 

Beküldendő egy tömörített i457.zip állományban a program forráskódja és rövid dokumentációja, amely megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.