A legjobb barátod elkezdett kirakós játékokat gyűjteni, és részletes katalógust szeretne készíteni a gyűjteményéről: olyan adatokat akar feljegyezni, mint a darabok teljes száma, a sorok és oszlopok száma, a szélső és belső darabok száma, a képarány és a kirakó formátuma. Még ha össze is adjátok az erőiteket, akkor is több órába telik megoldani egy ezer darabos kirakóst, utána pedig még mindig neked kell megszámolnod a sorokat és az oszlopokat, és kiszámolnod a többi adatot. A több ezer darabos, még nagyobb kirakósok pedig most meglehetősen ijesztőnek tűnnek. „Lennie kell jobb megoldásnak!” kiáltod fel, és leülsz a számítógéped elé, hogy megoldd a problémát.
Egy kirakós játékról rendelkezésre álló részleges információ alapján egészítsd ki a hiányzó darabokat.
Ha az információ nem elegendő az adatok kiegészítéséhez, vagy ha a megadott részek ellentmondanak egymásnak, a felhasználót értesíteni kell.
A kirakós játék teljes információja a következő részekből áll:
pieces: a darabok teljes számaborder: a szegélydarabok számainside: a belső (nem szegély) darabok számarows: a sorok számacolumns: az oszlopok számaaspectRatio: az oszlopok és a sorok képarányaformat: a kirakó formátuma, amely portrait, square vagy landscape lehetEbben a feladatban feltételezheted, hogy a darabok négyzet alakúak, így a formátum a képarányból levezethető:
portrait.square.landscape.Egy álló kirakós játék 6 darabbal, amelyek mind szegélydarabok, és egyik sem belső darab. 2 oszlopa és 3 sora van. A képarány 0.666666... (2/3).
Egy négyzet alakú kirakós játék 9 darabbal, amelyek mind szegélydarabok, kivéve a középsőt, amely belső darab. 3 oszlopa és 3 sora van. A képarány 1.0 (3/3).
Egy fekvő kirakós játék 12 darabbal, amelyből 10 szegélydarab és 2 belső darab. 4 oszlopa és 3 sora van. A képarány 1.333333... (4/3).
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Zig nyelvet 104 feladat segítségével, valódi emberi mentorálással, mindez ingyen.