थोड़ा अनुवांशिकी पाठ
जब आपके पास केवल किसी के दिखाई देने वाले लक्षणों या फेनोटाइप तक पहुंच होती है , तो उनके परिवार के इतिहास की एक वंशावली अक्सर वास्तविक आनुवंशिक जानकारी या प्रत्येक परिवार के सदस्य के जीनोटाइप का पता लगाने के लिए उपयोग की जाती है।
जब हम सरल वर्चस्व के साथ काम कर रहे होंगे, तो एक साधारण वंशावली चार्ट एलील्स, या प्रत्येक व्यक्ति के जीन के संस्करण का पता लगाने के लिए पर्याप्त होगा। सरल प्रभुत्व में एक प्रमुख एलील के साथ एक व्यक्ति (एक कैपिटल लेटर के साथ निरूपित) में हमेशा यह गुण होगा कि उस संस्करण का प्रतिनिधित्व करता है, अन्य एलील से कोई फर्क नहीं पड़ता। उस संस्करण को व्यक्त करने के लिए दो पुनरावर्ती एलील्स (एक लोअरकेस अक्षर के साथ चिह्नित) लेता है। दूसरे शब्दों में, प्रमुख एलील हमेशा उस जीन के आवर्ती संस्करण का सामना करता है। यहाँ एक वंशावली चार्ट का एक उदाहरण दिया गया है:
यहां प्रत्येक पंक्ति एक पीढ़ी है। मंडलियां महिला हैं, पुरुष वर्ग हैं, क्षैतिज रेखाएं विवाहित हैं, ऊर्ध्वाधर रेखाएं बच्चे हैं। बहुत साधारण। ब्लैक का मतलब है रिसेसिव फेनोटाइप, सफ़ेद, प्रमुख। शीर्ष से शुरू, (मान लें कि एलील्स हैं A
और a
), हम जानते हैं कि व्यक्ति के पास 2 है aa
, होमोज़ीगस रिसेसिव, क्योंकि यह रिकेसिव फेनोटाइप के लिए एकमात्र संभव विकल्प है। अब भले ही व्यक्ति के लिए एक हो सकता है या तो Aa
या AA
प्रमुख लक्षण प्रारूप हो सकता है, क्योंकि वह एक पीछे हटने का बच्चा है, वह होना चाहिए Aa
, या विषमयुग्मजी। आप यह अन्य सभी लोगों के लिए कर सकते हैं। घटना आप किसी भी जानकारी है कि आप दूसरे एलील यह पता लगाने के लिए सक्षम बनाता की सुविधा नहीं है, यह बहुत की तरह किया जा सकता है: A_
।
आपका कार्य
- आप
[GenI, GenII, etc.]
किसी भी संत प्रारूप में पीढ़ियों की सूची के रूप में एक वंशावली चार्ट प्राप्त करेंगे । - प्रत्येक पीढ़ी तार की एक सूची होगी, प्रत्येक स्ट्रिंग एक व्यक्ति का प्रतिनिधित्व करती है।
- लोग तीन भागों से बने होते हैं - एक आईडी, उनका फेनोटाइप, और उनका "कनेक्शन"।
- उनकी आईडी एक एकल प्रिंट करने योग्य एस्की चरित्र है जो पूरे पेड़ में
A
या के अलावा अद्वितीय हैa
। (नहीं, चार्ट में 95 से अधिक लोग नहीं होंगे)। - उनके लक्षण प्रारूप में से एक है
A
याa
,A
प्रमुख एलील जा रहा है, औरa
पीछे हटने का किया जा रहा है। - उनके कनेक्शन अन्य लोगों के आईडी के एक अनुक्रम हैं जिनके साथ उनके कनेक्शन हैं।
- एक ही पीढ़ी में एक संबंध विवाह है, विभिन्न पीढ़ियों में बच्चे और माता-पिता हैं।
- दोनों पक्षों में संबंध दोहराया जाता है (अर्थात पति ने कहा कि वह पत्नी का पति है, और पत्नी कहती है कि वह पत्नी का पति है)।
- आपको हर किसी के जीनोटाइप को जितना संभव हो उतना पता लगाना होगा।
- समान सूची लौटाएं, लोगों को छोड़कर, अपने जीनोटाइप को उसी स्थिति में रखें।
- जीनोटाइप को
Aa
इसके बजाय क्रम में आउटपुट किया जाना हैaA
। - इनपुट फॉर्मेट पर थोड़ा लेवे ठीक है।
- यह कोड-गोल्फ है इसलिए बाइट्स में सबसे कम जवाब जीतता है।
उदाहरण
[["0A1234", "1a0234"], ["2A01", "3a01", "4A015678",
"5a4678"], ["6a45", "7A45","8A45"]] (The one above) ->
[["Aa", "aa"], ["Aa", "aa", "Aa", "aa"], ["aa", "Aa", "Aa"]]
[["0A12", "1A02"], ["2A301", "3a2"]] ->
[["A_", "A_"], ["A_", "aa"]]
बोनस
- -30 बाइट्स अगर आप अधूरे और सह-प्रभुत्व के साथ व्यवहार करते हैं। पूरे चार्ट में दो के बजाय तीन फेनोटाइप का पता लगाने पर, अपने एल्गोरिथ्म में अपूर्ण / सह प्रभुत्व लागू करें।
A
औरa
आईडी और कनेक्शन को छोड़ने की अनुमति है (यानी इसके बजाय[["0A12","1A02"],["2A301","3a2"]]
बन जाता[["0A_12","1A_02"],["2A_301","3aa2"]]
है[["A_","A_"],["A_","aa"]]
)?