मैजिक में: द गैदरिंग, मैजेस (जिसे "प्लेनवॉल्कर्स" के रूप में जाना जाता है) एक दूसरे को मंत्र बजाकर लड़ाई करते हैं। मंत्रों की लागत मन। मन के पांच रंग मौजूद हैं: क्रमशः व्हाइट, ब्लू, ब्लैक, रेड और ग्रीन, को {W}, {U}, {B}, {R}, और {G} के रूप में दर्शाया गया है।
एक वर्तनी की लागत थोड़ी अधिक जटिल है। लागत निम्नलिखित में से किसी भी संयोजन हो सकती है:
- एक या एक से अधिक रंग
- एक या अधिक रंगहीन, को {X} के रूप में दर्शाया जाता है, जहां X एक धनात्मक पूर्णांक है
- एक या एक से अधिक संकर, {Y / Z} के रूप में दर्शाए जाते हैं, जहां Y और Z या तो एक रंग हैं (पांच अक्षरों में से एक द्वारा दर्शाया गया है) या बेरंग, एक सकारात्मक पूर्णांक द्वारा दर्शाया गया है
एक स्पेल डालने का प्रयास करते समय निम्नलिखित नियम लागू होते हैं:
- लागत में एक रंग को उस रंग के एक मान से संतुष्ट होना चाहिए
- एक बेरंग लागत {X} किसी भी रंग के X मान से संतुष्ट हो सकती है
- एक संकर लागत {Y / Z} या तो Y या Z से संतुष्ट होकर संतुष्ट हो सकती है
- ध्यान दें कि ब्रेसिज़ नेस्टेड नहीं हैं
- Y और Z हाइब्रिड नहीं हैं
एक कार्यक्रम या फ़ंक्शन लिखें, जो कि मान और लागत का एक पूल दिया गया है, प्रिंट या सही (या कुछ सत्य मान) और यदि केवल उस पूल में मान लागत को संतुष्ट कर सकता है, तो गलत (या कुछ गलत मूल्य)।
एक मान पूल प्रारूप का एक गैर-खाली स्ट्रिंग है:
Color1,Color2,Color3,...,Colorn-1,Colorn
लागत प्रारूप का एक गैर-रिक्त स्ट्रिंग है:
Cost1,Cost2,Cost3,...,Costn-1,Costn
उदाहरण
प्रारूप में Pool Cost -> ExpectedOutput
(पूल और लागत के बीच की जगह के साथ):
{R},{R},{G},{B},{R} {4},{R} -> True
{G},{G},{G},{G},{W},{W},{W} {2/W},{2/U},{2/B},{2/R},{2/G} -> False
{G},{G},{R} {R/G},{G/B},{B/R} -> True
{R},{R},{R},{G} {1},{G},{2/G}-> True
{R} {R},{R},{R},{R},{R} -> False
{W},{R},{R} {2/W},{W/B} -> True
{U},{U} {1} -> True
{W},{R},{G} {1},{2} -> True