आयरिश स्नैप: वेरिएंट नियम


14

परिचय

हाल ही में, मैंने और मेरे कुछ दोस्तों ने कुछ कार्ड खेलने का फैसला किया, और उनमें से एक ने 'आयरिश स्नैप' गेम का सुझाव दिया, जो इस चुनौती के लिए प्रेरणा था। हालाँकि, मुझे बाद में पता चला कि गेम में बहुत सारे अलग-अलग नियम हैं, जिनके साथ आप खेल सकते हैं, जिनमें से कुछ यहाँ सूचीबद्ध हैं । इस चुनौती में शामिल नियम वर्तमान में उस पृष्ठ पर सूचीबद्ध नहीं हैं, इसलिए नाम, 'भिन्न नियम'

चुनौती

3 कार्डों की एक सरणी को देखते हुए, अगर वे आयरिश स्नैप के गेम में एक वैध तस्वीर बनाते हैं, तो उसके आधार पर एक सत्य या गलत मूल्य का उत्पादन करते हैं।

इनपुट

इनपुट 3 संख्याओं का एक सरणी होगा, जिसमें 1-13 समावेशी से लेकर, 1 में एक इक्के का प्रतिनिधित्व, 11 में एक जैक का प्रतिनिधित्व, 12 का एक रानी का प्रतिनिधित्व और 13 का एक राजा का प्रतिनिधित्व होगा। इनपुट शीर्ष, मध्य, नीचे के किसी भी क्रम में हो सकता है।

नियम

यदि कार्ड एक आयरिश तस्वीर बनाते हैं, तो 4 अलग-अलग मानदंड हैं:

  • शीर्ष और मध्य कार्ड समान हैं
  • शीर्ष और मध्य कार्ड में एक का अंतर होता है
  • ऊपर और नीचे कार्ड समान हैं
  • ऊपर और नीचे के कार्ड में एक का अंतर होता है

यदि इनमें से कोई भी मानदंड पूरा हो जाता है, तो आपको एक सत्य मान का उत्पादन करना चाहिए। इसके साथ ही, इन दो मानदंडों के लिए जिन कार्डों में एक के अंतर की आवश्यकता होती है, यह 'चारों ओर घूमता है', जिसका अर्थ है कि एक इक्का और एक राजा को एक का अंतर माना जाता है, और इसके विपरीत।

परीक्षण के मामलों

Input (Bottom, Middle, Top) -> Output
1 13 7 -> False
1 4 13 -> True
9 3 6 -> False
8 9 7 -> True
2 6 5 -> True
12 5 11 -> True
10 4 8 -> False
12 13 7 -> False
9 7 10 -> True
7 3 1 -> False
4 2 3 -> True

2
क्या हम अलग से कार्ड ले सकते हैं? या इनपुट के रूप में लेते हैं top, [middle, bottom]?
जो किंग

यकीन है, आप दोनों कर सकते हैं। इस प्रश्न को प्रतिबिंबित करने के लिए बदल दिया कि
EdgyNerd

क्या हम आउटपुट को उल्टा कर सकते हैं, यानी वैध स्नैप और इसके विपरीत गलत लौटा सकते हैं? कैसे एक परीक्षण मामले के बारे में जहां मध्य और नीचे दोनों वैध हैं?
जो किंग

हाँ, आप आउटपुट को उल्टा कर सकते हैं। इसके अलावा, उस परीक्षण मामले को जोड़ा गया
EdgyNerd

क्या आउटपुट मान संगत होना चाहिए या हम उदाहरण के लिए, आउटपुट के 0लिए falseऔर किसी भी अन्य पूर्णांक के लिए trueया, यहां तक ​​कि, किसी भी नकारात्मक पूर्णांक के लिए falseया किसी भी सकारात्मक पूर्णांक के लिए कर सकते हैं true?
झबरा

जवाबों:


4

पायथन 3 , 38 बाइट्स

lambda x,y,z:{x-y,x-z}&{0,1,12,-1,-12}

इसे ऑनलाइन आज़माएं!

गैर-रिक्त सेट (सत्य) लौटाता है यदि वैध, खाली सेट (गलत) यदि नहीं। शीर्ष-मध्य-नीचे क्रम में इनपुट लेता है, लेकिन समान कोड आकार के लिए पुन: व्यवस्थित किया जा सकता है।


4

पर्ल 6 , 16 बाइट्स

3>(*-(*|*)+1)%13

इसे ऑनलाइन आज़माएं!

अनाम जो भी लैम्ब्डा है जो इनपुट के रूप में लेता है top, middle, bottomऔर ट्रू या फाल्स का मूल्यांकन करने वाला जंक्शन लौटाता है


इससे पहले बहुत बुरे व्हाट्सएप की आवश्यकता है <, यह एक दिल स्माइली होने का सही मौका था।
ग्रैमी

3

05AB1E , 7 6 बाइट्स

α12%ß!

इसे ऑनलाइन आज़माएं!

इनपुट्स के रूप में लेता है [middle, bottom], top

α        # absolute difference
 12%     # mod 12
    ß    # minimum
     !   # factorial

05AB1E में केवल 1 सत्य है। 0! और 1! दोनों 1 हैं, जबकि किसी भी अन्य संख्या में 1 का एक गुट नहीं है।


2

जे , 12 बाइट्स

1 e.2>12||@-

इसे ऑनलाइन आज़माएं!

नीचे के मध्य को बाएँ आर्ग के रूप में लेना, दायें आर्ग के रूप में शीर्ष।

मूल उत्तर इनपुट को एक सूची के रूप में लेना

जे , 24 बाइट्स

1 e.2>#:@3 5(12||@-/)@#]

इसे ऑनलाइन आज़माएं!

  • #:@3 5बाइनरी में संख्या 3 और 5 हैं 0 1 1और 1 0 1जो क्रमशः मध्य / शीर्ष और नीचे / शीर्ष कार्ड के लिए मुखौटे हैं
  • (12||@-/)@# हम उन मास्क के साथ इनपुट को फ़िल्टर करते हैं, जिसके परिणामस्वरूप अंतर के एब्स मान लेते हैं, फिर शेष जब 12 से विभाजित होते हैं (इक्का-राजा मामले के लिए)
  • 1 e.2> दोनों में से कोई भी परिणामी संख्या 2, अर्थात, 0 या 1 से कम है?

2

जावास्क्रिप्ट (ईएस 6), 29 बाइट्स

के रूप में इनपुट लेता है ([bottom, middle])(top)

आउटपुट उलटा है।

a=>c=>a.every(n=>(n-c)/2%6|0)

इसे ऑनलाइन आज़माएं!


जावास्क्रिप्ट (ईएस 6),  37  30 बाइट्स

@ बरी के लिए 1 बाइट का धन्यवाद सहेजा गया

के रूप में इनपुट लेता है ([bottom, middle])(top)

a=>c=>a.some(n=>(n-=c)*n%72<2)

इसे ऑनलाइन आज़माएं!


%144हो सकता है%72
ग्रैमी

@ ग्रैमी थैंक्स! FWIW, %13भी काम करेगा।
अरण्युलड

2

चारकोल , 12 बाइट्स

›²⌊﹪↔⁻E²NN¹²

इसे ऑनलाइन आज़माएं! @ ग्रिम के उत्तर का पोर्ट। इनपुट को तीन अलग-अलग मान नीचे, मध्य, शीर्ष के रूप में लेता है, और -सही के लिए चारकोल के डिफ़ॉल्ट बूलियन प्रारूप का उपयोग करके आउटपुट करता है, झूठे के लिए कुछ भी नहीं। स्पष्टीकरण:

 ²              Literal 2
›               Is greater than
  ⌊             Minimum of
    ↔            Absolute value of (vectorised)
      E²N       First two numeric inputs as a list ([bottom, middle])
     ⁻          Minus (vectorised)
         N      Third input (top)
   ﹪            Modulo (vectorised)
          ¹²    Literal 12


1

पायथ , 12 11 बाइट्स

( [bottom, top, middle]या [middle, top, bottom]दोनों काम) के रूप में इनपुट लेता है । आउटपुट [](पल्स में मिथ्या) यदि कोई मान्य स्नैप नहीं है, तो एक गैर-खाली सरणी अन्यथा।

f>2%.aT12.+

इसे ऑनलाइन आज़माएं!

यदि एक सुसंगत सत्य / मिथ्या मूल्य की आवश्यकता होती है, तो .A+2 बाइट्स के लिए सामने जोड़ें । तो फिर उत्पादन किया जाएगा Trueया False

व्याख्या

  f             # Filter on lambda T:
   >2           # 2 > 
      .aT       #     abs(T)
     %   12     #            % 12
           .+   # the list of deltas (difference between consecutive elements)

.A (if required)# Any truthy values in the above list?

संपादित करें: -1 एक अलग दृष्टिकोण के साथ







हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.