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 téglalap alakú üveglapra gondolatban egy -es () négyzethálót helyezünk. Az üveglapot rá merőlegesen () pontban egy-egy nem polarizált fénysugárral megvilágítjuk úgy, hogy minden fénysugár pontosan egy négyzetre essen. Az üveglapra () darab különböző szélességű és hosszúságú, téglalap alakú polárszűrőt helyezünk el úgy, hogy oldalaik a négyzetháló rácsvonalaira esnek. A polárszűrők érintkezhetnek és átfedhetik egymást, de a lapról nem lóghatnak le. Kétféle polárszűrő van: az egyik a beérkező fényt az üveglap felső oldalával párhuzamosan, a másik arra merőlegesen polarizálja. Az a fénysugár, amely két, egymásra merőlegesen polarizáló polárszűrőre esik, nem jut át az üveglapon. Készítsünk programot i460 néven, amely a következő problémákat oldja meg.
A program olvassa be a standard input első sorából -et, -et, -t és -t. A következő sorból a megvilágított négyzetek bal alsó sarkának koordinátáit, utána sorból a polárszűrők bal alsó, illetve jobb felső sarkának koordinátáit és a polarizációt ( vagy ). A koordináták egész számok, az üveglap bal alsó sarkának koordinátái . A program írja a standard output egymás utáni három sorába a következő feladatok megoldását:
‐ | soroljuk fel a beolvasás sorrendjében azoknak a fényforrásoknak a sorszámát, amelyek fénye nem jut át az üveglapon a polárszűrők miatt; |
‐ | adjuk meg, hány olyan négyzet van, amelyet nem világítunk meg, de a polárszűrők miatt nem átlátszó; |
‐ | adjuk meg, melyek azok a polárszűrők, amelyeket eltávolítva a fénysugarak átlépése nem változik (több lehetséges megoldás esetén elég egyet megadni). |
Példa:
Beküldendő egy tömörített i460.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ó. |