आपको कुलीनों के लिए बने सबसे चर्चित नए डेटिंग ऐप Noble Knots को बनाने का काम मिला है! शाही परिवारों में सदियों से होते आए आपसी विवाहों की वजह से मामला उलझ गया है। अरे, हम तो जुड़वाँ निकले जैसी किसी भी स्थिति से बचने के लिए आपको एक ऐसा सिस्टम बनाना है जो जाँचता है कि दो लोग कितने करीबी रिश्तेदार हैं।
Noble Knots आइसलैंड के "Islendinga-App" से प्रेरित है, जिसके पीछे एक डेटाबेस है जो आइसलैंड में बसावट के समय से आइसलैंडवासियों के बीच के सभी ज्ञात पारिवारिक संबंधों का पता लगाता है। आपका एल्गोरिदम शाही वंशावली में दो व्यक्तियों के बीच रिश्तेदारी की दूरी तय करेगा।
तो क्या आपका ऐप एक बेहतरीन जोड़ी चुन पाएगा?
आपको एक वंश वृक्ष में दो व्यक्तियों के बीच अलगाव की डिग्री पता लगानी है। यह उस पॉप कल्चर विचार के समान है कि हर हॉलीवुड अभिनेता Kevin Bacon की छह डिग्री के भीतर होता है।
निम्नलिखित वंश वृक्ष दिया गया है:
┌──────────┐ ┌──────────┐ ┌───────────┐
│ Helena │ │ Erdős ├─────┤ Shusaku │
└───┬───┬──┘ └─────┬────┘ └────┬──────┘
┌───┘ └───────┐ └───────┬───────┘
┌─────┴────┐ ┌────┴───┐ ┌─────┴────┐
│ Isla ├─────┤ Tariq │ │ Kevin │
└────┬─────┘ └────┬───┘ └──────────┘
│ │
┌────┴────┐ ┌────┴───┐
│ Uma │ │ Morphy │
└─────────┘ └────────┘
Tariq और Uma के बीच अलगाव की डिग्री 2 है (Tariq → Isla → Uma)। Isla और Kevin के बीच कोई ज्ञात संबंध नहीं है, क्योंकि दिए गए डेटा में कोई कनेक्शन नहीं है। Uma और Isla के बीच अलगाव की डिग्री 1 है।
Isla और Tariq सगे भाई-बहन हैं और उनके बीच अलगाव 1 है। इसी तरह, यह इम्प्लीमेंटेशन आपसे आपके पिता के भाई तक अलगाव 2 रिपोर्ट करेगा।
Exercism पर साइन अप कीजिए और Common Lisp को 27 कॉन्सेप्ट92 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।