Házi feladat

3100 keringőpárok

Á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-D Keringőpárok

A szalagavató keringőjére jelentkező tanulókból fiú–lány párokat kell kialakítani. A szervezők azt szeretnék, hogy a párok tagjainak magassága összességében minél kevésbé térjen el. Minden tanulónak pontosan egy párban kell szerepelnie.

Az input.txt fájl a jelentkezők táblázatát tartalmazza. A fájl UTF-8 kódolású, első sora mezőneveket tartalmaz, a mezőket pontosvessző választja el. Minden további sor egy tanuló adatait tartalmazza az alábbi sorrendben: vezetéknév; keresztnév; magasság; nem. A magasság centiméterben megadott pozitív egész szám, a nem értéke fiú vagy lány. A névmezők szóközt is tartalmazhatnak, de pontosvesszőt vagy sortörést nem; a mezők nincsenek idézőjelezve. Feltételezheted, hogy ugyanannyi fiú és lány szerepel a fájlban, és mindkét nemből legalább egy tanuló jelentkezett. A tanulók sorrendje tetszőleges, azonos nevű vagy azonos magasságú tanulók is előfordulhatnak.

  1. Olvasd be a tanulók adatait, és alakíts ki fiú–lány párokat úgy, hogy a párokon belüli magasságkülönbségek abszolút értékeinek összege a lehető legkisebb legyen! Minden tanulót pontosan egyszer ossz be! Készíts függvényt, amely visszaadja a kialakított párok listáját! Írd ki páronként a fiú és a lány teljes nevét, magasságát, valamint a magasságkülönbségük abszolút értékét centiméterben! A felsorolás végén írd ki a magasságkülönbségek összegét is! Több optimális párosítás esetén bármelyiket megadhatod; a párok felsorolásának sorrendje tetszőleges.

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

Vezeteknev;Keresztnev;Magassag;Nem
Kovács;Anna;165;lány
Nagy;Bence;180;fiú
Tóth;Eszter;175;lány
Kiss;Dániel;170;fiú

Egy megfelelő kimenet:

Kiss Dániel (170 cm) – Kovács Anna (165 cm): 5 cm
Nagy Bence (180 cm) – Tóth Eszter (175 cm): 5 cm
A magasságkülönbségek összege: 10 cm