Felvettek, hogy kifejleszd a Noble Knots alkalmazást, a nemesség legmenőbb új társkereső appját! Az évszázadok óta tartó királyi összeházasodások miatt a dolgok… bonyolulttá váltak. Hogy elkerüld a hopp, ikrek vagyunk helyzeteket, az a feladatod, hogy építs egy rendszert, amely ellenőrzi, hogy két ember milyen szoros rokonságban van egymással.
A Noble Knots alkalmazást Izland „Islendinga-App” ihlette, amely mögött egy olyan adatbázis áll, amely az izlandiak közötti összes ismert családi kapcsolatot nyomon követi Izland betelepítésének idejétől kezdve. Az algoritmusod fogja meghatározni az elválasztási fokot két személy között a királyi családfán.
Vajon az appod segít megkoronázni a tökéletes párt?
A feladatod, hogy meghatározd két személy elkülönülési fokát egy családfában. Ez hasonlít ahhoz a popkulturális elképzeléshez, hogy minden hollywoodi színész hat lépésre van Kevin Bacontől.
Adott a következő családfa:
┌──────────┐ ┌──────────┐ ┌───────────┐
│ Helena │ │ Erdős ├─────┤ Shusaku │
└───┬───┬──┘ └─────┬────┘ └────┬──────┘
┌───┘ └───────┐ └───────┬───────┘
┌─────┴────┐ ┌────┴───┐ ┌─────┴────┐
│ Isla ├─────┤ Tariq │ │ Kevin │
└────┬─────┘ └────┬───┘ └──────────┘
│ │
┌────┴────┐ ┌────┴───┐
│ Uma │ │ Morphy │
└─────────┘ └────────┘
Tariq és Uma között az elkülönülési fok 2 (Tariq → Isla → Uma). Isla és Kevin között nincs ismert kapcsolat, mivel az adott adatokban nincs összeköttetés. Uma és Isla között az elkülönülési fok 1.
Isla és Tariq testvérek, az elkülönülési fokuk 1. Hasonlóképpen ez a megvalósítás 2-es elkülönülési fokot adna meg közötted és az apád fivére között.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Vim script nyelvet 89 feladat segítségével, valódi emberi mentorálással, mindez ingyen.