![]() |
Az I. 460. feladat (2018. szeptember) |
I. 460. Egy téglalap alakú üveglapra gondolatban egy N×M-es (10≤N,M≤10000) négyzethálót helyezünk. Az üveglapot rá merőlegesen P (0≤P≤N×M) 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 K (0≤K≤1000) 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 N-et, M-et, P-t és K-t. A következő P sorból a megvilágított négyzetek bal alsó sarkának koordinátáit, utána K sorból a polárszűrők bal alsó, illetve jobb felső sarkának koordinátáit és a polarizációt (p vagy m). A koordináták egész számok, az üveglap bal alsó sarkának koordinátái 1,1. 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ó.
(10 pont)
A beküldési határidő 2018. október 10-én LEJÁRT.
Statisztika:
14 dolgozat érkezett. 10 pontot kapott: Bálint Ádám, Békési Péter, Horcsin Bálint, Kovács 202 Bertold, Papp Marcell Miklós, Szalay Bálint, Tersztenyák Balázs, Ürmössy Dorottya, Varga 225 Balázs, Vígh Márton, Zámborszky Balázs. 8 pontot kapott: 1 versenyző. 7 pontot kapott: 1 versenyző. 5 pontot kapott: 1 versenyző.
A KöMaL 2018. szeptemberi informatika feladatai
|