पिशाचों के बारे में एक छोटा ज्ञात तथ्य यह है कि उन्हें पीड़ित के रक्त को पीना चाहिए जिसमें एक संगत दाता रक्त प्रकार है। पिशाचों के लिए संगतता मैट्रिक्स नियमित लाल रक्त कोशिका दाता / प्राप्तकर्ता मैट्रिक्स के समान है । इसे निम्नलिखित अमेरिकी रेड क्रॉस तालिका द्वारा संक्षेपित किया जा सकता है
Type You Can Give Blood To You Can Receive Blood From
A+ A+, AB+ A+, A-, O+, O-
O+ O+, A+, B+,AB+ O+, O-
B+ B+, AB+ B+, B-, O+, O-
AB+ AB+ everyone
A- A+, A-, AB+, AB- A-, O-
O- everyone O-
B- B+, B-, AB+, AB- B- O-
AB- AB+, AB- AB-, A-, B-, O-
चुनौती
एक फ़ंक्शन या प्रोग्राम लिखें जो एक रक्त प्रकार को इनपुट के रूप में लेता है और दो सूचियों को आउटपुट करता है:
- प्रकार की अनियंत्रित सूची जो इनपुट प्रकार का दान प्राप्त कर सकती है
- प्रकारों की अनियंत्रित सूची जो इनपुट प्रकार को दान दे सकती है
यदि आप एक फ़ंक्शन लिखते हैं, तो कृपया कुछ उदाहरणों के साथ उस फ़ंक्शन को कॉल करने के लिए एक परीक्षण कार्यक्रम भी प्रदान करें, इसलिए मैं इसे आसानी से परीक्षण कर सकता हूं। इस मामले में, परीक्षण कार्यक्रम आपके स्कोर की ओर नहीं गिना जाएगा।
इनपुट
इनपुट एक स्ट्रिंग होना चाहिए जो 8 संभावित लाल रक्त कोशिका प्रकारों में से एक का प्रतिनिधित्व करता है O−
O+
A−
A+
B−
B+
AB−
AB+
। इनपुट सामान्य तरीकों (STDIN, कमांड-लाइन आर्ग्स, फंक्शन आर्ग्स आदि) के माध्यम से दिया जा सकता है।
यदि कोई अन्य इनपुट दिया जाता है, तो प्रोग्राम / फ़ंक्शन को खाली आउटपुट वापस करना चाहिए या एक त्रुटि फेंकनी चाहिए। कोड-गोल्फ सवालों में आम तौर पर सख्त इनपुट-चेकिंग महान नहीं है , लेकिन मैंने महसूस किया कि रक्त के प्रकार गलत होने के जीवन-मृत्यु के निहितार्थ हैं जो मुझे इस नियम को जोड़ना चाहिए।
उत्पादन
आउटपुट आपकी भाषा के लिए उपयुक्त प्रारूप में रक्त के प्रकारों की दो मानव-पठनीय सूची होगी। विशेष मामलों में जहां एक आउटपुट सूची में सभी 8 प्रकार होते हैं, इस सूची को वैकल्पिक रूप से एकल आइटम सूची वाले प्रतिस्थापित किया जा सकता है everyone
।
सामान्य आउटपुट सामान्य स्थानों (STDOUT, फ़ंक्शन रिटर्न, आदि) में से एक में जाएगा।
अन्य नियम
- मानक खामियों पर रोक लगाई जाती है
- आप जो भी पहले से मौजूद 3 पार्टी लाइब्रेरी की आवश्यकता हो, का उपयोग कर सकते हैं, जब तक कि वे इस उद्देश्य के लिए स्पष्ट रूप से डिज़ाइन नहीं किए गए हैं।
उदाहरण
- इनपुट के लिए
AB-
, दो आउटपुट लिस्ट होंगी:{AB+, AB-}, {AB-, A-, B-, O-}
- इनपुट के लिए
AB+
, दो आउटपुट सूचियाँ होंगी:{AB+}, {O−, O+, A−, A+, B−, B+, AB−, AB+}
या{AB+}, {everyone}
व्यक्तिगत नोट: यदि आप करने में सक्षम हैं तो कृपया रक्त दान करने पर विचार करें। कुछ साल पहले मिले आधान के बिना, मैं आज यहां नहीं हो सकता, इसलिए मैं उन लोगों के प्रति बहुत आभारी हूं जो दान करने में सक्षम हैं!