আইরিশ স্ন্যাপ: ভেরিয়েন্ট বিধি


14

ভূমিকা

সম্প্রতি, আমি এবং আমার কয়েকজন বন্ধু কিছু কার্ড খেলার সিদ্ধান্ত নিয়েছি এবং তাদের মধ্যে একটি 'আইরিশ স্ন্যাপ' গেমটি প্রস্তাব করেছিল যা এই চ্যালেঞ্জের অনুপ্রেরণা ছিল। যাইহোক, আমি পরে শিখেছি যে গেমটির বিভিন্ন ধরণের বিধি রয়েছে যা আপনি খেলতে পারেন যাগুলির কয়েকটি এখানে তালিকাভুক্ত । এই চ্যালেঞ্জের যে নিয়মগুলি বর্তমানে সেই পৃষ্ঠায় তালিকাভুক্ত নয়, সুতরাং নামটি 'বৈকল্পিক বিধিগুলি'

চ্যালেঞ্জ

3 টি কার্ডের অ্যারে দেওয়া, তারা আইরিশ স্ন্যাপের কোনও গেমটিতে বৈধ স্ন্যাপ তৈরি করে কিনা তার উপর নির্ভর করে সত্যবাদী বা মিথ্যা মান নির্ধারণ করে।

ইনপুট

ইনপুটটি 3 টি সংখ্যার অ্যারে হবে, 1-13 সমেত অন্তর্ভুক্ত থাকবে, যার মধ্যে 1 টি এসের প্রতিনিধিত্ব করবে, ১১ টি জ্যাকের প্রতিনিধিত্ব করবে, ১২ জন রানিকে এবং ১৩ জন রাজার প্রতিনিধিত্ব করবে। ইনপুটটি শীর্ষ, মধ্য, নীচের যে কোনও ক্রমে থাকতে পারে।

বিধি

কার্ডগুলি কোনও আইরিশ স্ন্যাপ তৈরি করে রাখার জন্য 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]?
জো কিং

অবশ্যই, আপনি উভয় করতে পারেন। এটি প্রতিফলিত করার জন্য প্রশ্নটি পরিবর্তিত হয়েছে
এডজিনার্ড

আমরা কি আউটপুটটি উল্টাতে পারি, অর্থাৎ বৈধ স্ন্যাপগুলির জন্য এবং এর বিপরীতে মিথ্যা ফিরিয়ে দিতে পারি? মধ্যম এবং নীচে উভয়ই বৈধ যেখানে কোনও পরীক্ষার কেস কীভাবে?
জো কিং

হ্যাঁ, আপনি আউটপুট উল্টাতে পারেন। এছাড়াও, সেই পরীক্ষার
কেসটি

আউটপুট মান সামঞ্জস্যপূর্ণ হতে হবে অথবা পারা আমরা উদাহরণ, আউটপুট 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এবং সত্য বা মিথ্যাতে মূল্যায়ন করে এমন একটি জংশন ফিরিয়ে দেয়


খুব খারাপ সাদা সাদা জায়গা আগে প্রয়োজন <, এটি ছিল হৃদয় হাসি হাসির সঠিক সুযোগ।
গ্রিমি


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

জাভাস্ক্রিপ্ট (ES6), 29 বাইট

হিসাবে ইনপুট লাগে ([bottom, middle])(top)

আউটপুট উল্টানো হয়।

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

এটি অনলাইন চেষ্টা করুন!


জাভাস্ক্রিপ্ট (ES6),  37  30 বাইট

@ গ্রিমিকে ধন্যবাদ 1 বাইট সংরক্ষণ করা

হিসাবে ইনপুট লাগে ([bottom, middle])(top)

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

এটি অনলাইন চেষ্টা করুন!


%144হতে পারে%72
গ্রিমি

@ গ্রিমি ধন্যবাদ! FWIW, %13কাজ করবে।
আর্নৌল্ড

2

কাঠকয়লা , 12 বাইট

›²⌊﹪↔⁻E²NN¹²

এটি অনলাইন চেষ্টা করুন! @ গ্রিমির উত্তর বন্দর -সত্যের জন্য চারকোলের ডিফল্ট বুলিয়ান বিন্যাসটি ব্যবহার করে তিনটি পৃথক মান নীচের, মধ্য, শীর্ষ এবং আউটপুট হিসাবে ইনপুট নেয় false ব্যাখ্যা:

 ²              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](উভয় কাজ) ইনপুট নেয় । আউটপুট [](Pyth মধ্যে Falsy) কোনো বৈধ স্ন্যাপ নিন, একটি খালি অ্যারে অন্যথায় আছে কিনা।

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 একটি ভিন্ন পদ্ধতির সাথে







আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.