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. Adott egy -es négyzet alakú biliárdasztal, amelynek szélén a golyók tökéletesen rugalmasan ütközhetnek. A golyók kiterjedés nélküliek és kezdetben az asztal egész koordinátájú pontjaiban állhatnak. Készítsünk programot i298 néven, amely megadja és a standard kimenetre kiírja, hogy egy adott koordinátájú pontból gurítva egy golyót, azzal egy másik adott koordinátájú golyót hányféle úton találhatunk el.
Példa három lehetséges útra A golyó útja akkor érvényes, ha legföljebb két falon pattan vissza anélkül, hogy a megcélzott golyón kívül más golyót érintett volna. Ha egy golyó pont az asztal sarkát találja el, akkor önmagába verődik vissza, mivel ez mindkét falról történő visszapattanásnak számít. A program eredménye ‐ az asztal szélén történő visszapattanások száma szerint ‐ a kétpattanásos, az egypattanásos és a pattanás nélküli utak száma. A program parancssori argumentuma legyen a kezdőfeltételeket leíró adatállomány neve. A fájl első sorában () az asztal méretét, () a golyók számát adja meg. Az ezt követő sor a golyók koordinátáit, majd az utolsó sor a golyóindítás koordinátáit (), és a célgolyó koordinátáit írja le. A biliárdasztal bal alsó sarka legyen az koordinátájú pont, és az első koordináta jobbra, a második koordináta felfelé nő. Példa (lásd az ábrát):
Beküldendő a program forráskódja (i298.pas, i298.cpp, ) és rövid dokumentációja (i298.txt, i298.pdf, ), amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható. |