Általános leírás
Törekedj arra, hogy szép, áttekinthető kódot írj! Úgy oldd meg a feladatokat, hogy függvényeket használsz a megoldáshoz! A felhasznált függvényekben ne történjen konzolra való kiírás!
Mindegyik feladatban nagyon fontos, hogy bár egyetlen inputfájlt kapsz, úgy írd meg a programod, hogy bármilyen, a feladatkiírásnak megfelelő inputfájllal működjön!
3.100-Ö Öregdiákok csoportképei
Egy maratoni öregdiáktalálkozó déli 12 órakor kezdődik, és másnap reggel 10 óráig tart. A résztvevők eltérő időpontokban érkeznek és távoznak. Sajnos nincs olyan időpont, amikor mindenki egyszerre jelen lenne. A szervezők ezért több csoportképet készítenek, de szeretnék a lehető legkevesebb fényképpel elérni, hogy minden résztvevő legalább egy képen szerepeljen.
Az input.txt UTF-8 kódolású fájl első sora mezőneveket tartalmaz.
Minden további sor egy résztvevő teljes nevét, érkezési és távozási időpontját tartalmazza,
pontosvesszővel elválasztva. Az időpontok formátuma éééé-HH-nn ÓÓ:pp:mm,
például 2026-11-14 23:30:00.
Az érkezési és távozási időpontokat DateTime típusú adatként tárold és kezeld!
A program más dátumokkal is működjön: az esemény kezdőnapja nem rögzített.
Minden résztvevő egyszer érkezik és egyszer távozik, a kettő között végig jelen van. Az érkezése szigorúan korábbi a távozásánál. Minden időpont a találkozó déli kezdete és másnap 10 órás vége közé esik, a határokat is beleértve. A fájl legalább két résztvevőt tartalmaz, a sorok sorrendje tetszőleges. A nevek egyediek, nem tartalmaznak pontosvesszőt vagy sortörést; a mezők nincsenek idézőjelezve.
A fényképezést pillanatszerűnek tekintjük. A résztvevő az érkezése és a távozása pontos pillanatában is rákerülhet a képre. Minden fényképen az összes akkor jelen lévő résztvevő szerepel, és ugyanaz a személy több képen is megjelenhet. A fényképek készüljenek egész másodperc pontossággal.
-
Olvasd be az adatokat, és határozd meg, mikor készüljenek a csoportképek úgy,
hogy mindenki legalább egy képen szerepeljen, és a képek száma minimális legyen!
Készíts függvényt, amely visszaadja a fényképezési időpontok listáját!
A megoldás rendezést és mohó kiválasztást használjon;
ne állítsd elő az összes lehetséges időpontkombinációt!
Írd ki a szükséges képek legkisebb számát, majd időrendben az időpontokat
éééé-HH-nn ÓÓ:pp:mmformátumban! Minden időpont alatt sorold fel az adott képen szereplő résztvevőket, teljes nevük szerint magyar ábécérendben! Több optimális megoldás esetén bármelyiket megadhatod.
Például az alábbi bemenet esetén:
Nev;Erkezes;Tavozas
Kovács Anna;2026-11-14 12:00:00;2026-11-14 16:00:00
Nagy Bence;2026-11-14 15:00:00;2026-11-14 18:00:00
Tóth Csilla;2026-11-14 17:00:00;2026-11-15 01:00:00
Kiss Dániel;2026-11-14 23:00:00;2026-11-15 04:00:00
Szabó Eszter;2026-11-15 03:00:00;2026-11-15 08:00:00
Varga Ferenc;2026-11-15 07:00:00;2026-11-15 10:00:00
Egy megfelelő kimenet:
A szükséges képek száma: 3
2026-11-14 16:00:00
Kovács Anna
Nagy Bence
2026-11-15 01:00:00
Kiss Dániel
Tóth Csilla
2026-11-15 08:00:00
Szabó Eszter
Varga Ferenc
Két kép nem lenne elegendő: Kovács Anna, Tóth Csilla és Szabó Eszter jelenléti időszakai páronként nem fedik egymást, ezért őket három különböző képen kell lefényképezni.