Á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-F Fesztiválprogramok
Egy fesztiválon több helyszínen, részben egymással párhuzamosan zajlanak a programok. Szeretnél minél több programon részt venni, de egyszerre csak egyet tudsz megnézni. Egy program csak akkor számít meglátogatottnak, ha a kezdetétől a végéig ott vagy: később érkezni, korábban távozni vagy egy programot megszakítani nem lehet. Minden program ugyanannyit ér: kizárólag a meglátogatott programok számát szeretnénk maximalizálni.
Az input.txt UTF-8 kódolású fájl első sora mezőneveket tartalmaz.
Minden további sor egy program nevét, kezdési és befejezési időpontját tartalmazza,
pontosvesszővel elválasztva, ebben a sorrendben.
Az időpontok 24 órás, ÓÓ:pp formátumban szerepelnek.
Minden program ugyanazon a napon zajlik, és a kezdési időpontja szigorúan korábbi a befejezésénél.
A fájl legalább egy programot tartalmaz, a sorok sorrendje tetszőleges.
A programnevek egyediek, nem tartalmaznak pontosvesszőt vagy sortörést,
a mezők nincsenek idézőjelezve.
A helyszínek közötti közlekedés idejét elhanyagoljuk. Ha egy program pontosan akkor kezdődik, amikor az előző véget ér, mindkettőn részt vehetsz.
- Olvasd be a programok adatait, és állíts össze olyan menetrendet, amelyben a lehető legtöbb programon tudsz elejétől a végéig részt venni! Készíts függvényt, amely visszaadja a kiválasztott programok listáját! A program írja ki a meglátogatható programok legnagyobb számát, majd a kiválasztott programok nevét, kezdési és befejezési időpontját időrendben! Több optimális megoldás esetén bármelyiket megadhatod. A megoldásod rendezés után a rendezett lista egyszeri bejárásával válassza ki a programokat; az összes lehetséges programválogatást ne állítsd elő!
Például az alábbi bemenet esetén:
Nev;Kezdes;Befejezes
Nagy koncert;08:30;12:30
Bűvészbemutató;11:00;12:00
Táncház;09:30;10:30
Bábelőadás;09:00;10:00
Filmvetítés;11:30;13:30
Dobkoncert;12:00;13:00
Tudományos bemutató;10:00;11:00
Egy megfelelő kimenet:
A meglátogatható programok legnagyobb száma: 4
Bábelőadás;09:00;10:00
Tudományos bemutató;10:00;11:00
Bűvészbemutató;11:00;12:00
Dobkoncert;12:00;13:00
A kiválasztott programok nem ütköznek egymással. Ha a legkorábban kezdődő Nagy koncertre mennél el, a többi program közül már egyiken sem tudnál elejétől a végéig részt venni. A legkorábbi kezdés választása tehát nem feltétlenül adja a legtöbb programot.