Házi feladat

3100-CS mentőcsónakok

Á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-CS Mentőcsónakok

Egy hajó utasait mentőcsónakokkal kell partra juttatni. A csónakok azonos teherbírásúak, és egy csónakba legfeljebb két ember ülhet. Az utasok együttes tömege nem haladhatja meg a csónak teherbírását. A cél, hogy mindenki eljusson a partra a lehető legkevesebb csónak felhasználásával. Minden csónak csak egyszer indul útnak.

Az input.txt UTF-8 kódolású fájl első sorában a csónakok teherbírása szerepel kilogrammban, pozitív egész számként. Minden további sor egy utas teljes nevét és kilogrammban megadott tömegét tartalmazza, pontosvesszővel elválasztva. A fájlban nincs fejlécsor. A nevek szóközt is tartalmazhatnak, de pontosvesszőt vagy sortörést nem; a mezők nincsenek idézőjelezve. A tömegek pozitív egész számok. Feltételezheted, hogy legalább egy utas van, és mindenki külön-külön elfér egy csónakban. Azonos nevű és azonos tömegű utasok is előfordulhatnak; minden bemeneti sor egy külön személyt jelöl.

  1. Olvasd be az adatokat, és készíts olyan csónakbeosztást, amelyhez a lehető legkevesebb csónak szükséges! Minden utas pontosan egy csónakba kerüljön; egy csónakban egy vagy két ember utazhat. Készíts függvényt, amely visszaadja a csónakbeosztást! A program írja ki a szükséges csónakok számát, majd csónakonként az utasok teljes nevét, tömegét és a csónakban utazók össztömegét! A csónakokat 1-től kezdve sorszámozd! Több optimális beosztás esetén bármelyiket megadhatod; a csónakok és az azokon belüli utasok felsorolásának sorrendje tetszőleges.

Például az alábbi bemenet esetén:

100
Kovács Anna;40
Nagy Bence;80
Tóth Eszter;50
Kiss Dániel;60
Szabó Fanni;50

Egy megfelelő kimenet:

A szükséges csónakok száma: 3
1. csónak: Nagy Bence (80 kg). Össztömeg: 80 kg.
2. csónak: Kovács Anna (40 kg), Kiss Dániel (60 kg). Össztömeg: 100 kg.
3. csónak: Tóth Eszter (50 kg), Szabó Fanni (50 kg). Össztömeg: 100 kg.

Mindhárom csónak terhelése legfeljebb 100 kg. Két csónak nem lenne elegendő, mert azokban összesen legfeljebb négy ember férne el.