![]() |
Az S. 153. feladat (2021. május) |
S. 153. Van egy derékszögű koordináta-rendszerünk, amelyben kezdetben három pont helyezkedik el. Egymás után újabb pontokat veszünk hozzá a ponthalmazhoz. Minden egyes új pont után szeretnénk tudni, mekkora a legkisebb területű konvex sokszög területe, mely minden eddig felvett pontot tartalmaz – a matematikusok ezt a sokszöget konvex buroknak nevezik. (Egy konvex sokszög tartalmaz egy pontot, ha a pont a sokszög belsejében, élén, vagy csúcsán helyezkedik el.)
Bemenet: Az első három sorban az eredeti három pont x és y koordinátái szerepelnek. A negyedik sorban az ezekhez hozzávett pontok N számát adjuk meg. A következő N sor mindegyike egy újonnan felvett pont x és y koordinátáit tartalmazza.
Kimenet: N sort kell kiírni, melyek mindegyike az i-edik pont hozzávétele utáni terület kétszeresét tartalmazza (ez mindig egész szám).
Példa:
Bemenet (a / jel sortörést helyettesít) | Kimenet (a / jel sortörést helyettesít) |
-1 -1 / 1 -1 / 1 1 / 2 / -1 1 / 2 2 | 8 / 12 |
Korlátok: 1≤N≤105, −108≤xy≤108, a koordináták egész számok, a kezdeti három pont nincs egy egyenesen. Időkorlát: 1 mp.
Értékelés: a pontok 30%-a kapható, ha N≤100.
Beküldendő egy s153.zip tömörített állományban a megfelelően dokumentált és kommentezett forrásprogram, amely tartalmazza a megoldás lépéseit, valamint megadja, hogy a program melyik fejlesztői környezetben futtatható.
(10 pont)
A beküldési határidő 2021. június 15-én LEJÁRT.
Az egyetlen 10 pontos megoldáshoz gratulálunk Horcsin Bálintnak:
A feladat hatékony megoldása implementációtól és egyéb részletektől függetlenül ugyan az volt: Keressük meg azokat a csúcsokat, melyek az új pont felvételével a konvex burkon belülre kerülnek. Ezt meg lehet csinálni Horcsin Bálint megoldása szerint a sokszög eltolásával és egy ügyes rendezési függvénnyel, vagy egyszerű bináris kereséssel is. Ilyenkor két olyan érinitőt keresünk a sokszöghöz, melyek áthaladnak az újonnan felvett ponton.
A komplexitás minden esetben O(N∗log(N))
Statisztika:
4 dolgozat érkezett. 10 pontot kapott: Horcsin Bálint. 3 pontot kapott: 2 versenyző. 0 pontot kapott: 1 versenyző.
A KöMaL 2021. májusi informatika feladatai
|