বৈধ ব্যাডমিন্টন স্কোর?


27

পরিচিতি:

আমি এখনই ব্যাডমিন্টন সম্পর্কিত অন্য একটি চ্যালেঞ্জ ছিল । যেহেতু আমি নিজে ব্যাডমিন্টন খেলি (বিগত ১৩ বছর ধরে) এখন আমি ব্যাডমিন্টন সম্পর্কিত কিছু চ্যালেঞ্জ যুক্ত করতে পেরেছি। এখানে প্রথমটি:

চ্যালেঞ্জ:

ইনপুট: দুটি পূর্ণসংখ্যা
আউটপুট: আপনার নিজের পছন্দের তিনটি স্বতন্ত্র এবং অনন্য আউটপুট। একটি যে ইনপুটটি বৈধ ব্যাডমিন্টন স্কোর এবং সেটি কোনও বিজয়ীর সাথে শেষ হয়েছে; একটি ইনপুটটি একটি বৈধ ব্যাডমিন্টন স্কোর এবং সেটটি এখনও চলছে; ইনপুটটি নির্দেশ করে এমন একটি বৈধ ব্যাডমিন্টন স্কোর নয়।

ব্যাডমিন্টন দিয়ে, উভয় (জোড়া) খেলোয়াড় 0 পয়েন্ট দিয়ে শুরু হয় এবং আপনি যখন থামে তখন দু'জন (জুটি) খেলোয়াড় সর্বোচ্চ 30-29 পর্যন্ত কমপক্ষে 2 পয়েন্টের পার্থক্য সহ 21 পয়েন্টে পৌঁছে যায়।

সুতরাং এগুলি হ'ল সমস্ত সম্ভাব্য ইনপুট-জোড়া (উভয় ক্রমে) এটি বৈধ ব্যাডমিন্টন স্কোর নির্দেশ করে এবং সেটটি শেষ হয়ে গেছে:

[[0,21],[1,21],[2,21],[3,21],[4,21],[5,21],[6,21],[7,21],[8,21],[9,21],[10,21],[11,21],[12,21],[13,21],[14,21],[15,21],[16,21],[17,21],[18,21],[19,21],[20,22],[21,23],[22,24],[23,25],[24,26],[25,27],[26,28],[27,29],[28,30],[29,30]]

এবং এগুলি হ'ল সমস্ত সম্ভাব্য ইনপুট-জোড়া (উভয় ক্রমে) এটি একটি বৈধ ব্যাডমিন্টন স্কোর নির্দেশ করে তবে সেটটি এখনও চলছে:

[[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6],[0,7],[0,8],[0,9],[0,10],[0,11],[0,12],[0,13],[0,14],[0,15],[0,16],[0,17],[0,18],[0,19],[0,20],[1,1],[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],[1,8],[1,9],[1,10],[1,11],[1,12],[1,13],[1,14],[1,15],[1,16],[1,17],[1,18],[1,19],[1,20],[2,2],[2,3],[2,4],[2,5],[2,6],[2,7],[2,8],[2,9],[2,10],[2,11],[2,12],[2,13],[2,14],[2,15],[2,16],[2,17],[2,18],[2,19],[2,20],[3,3],[3,4],[3,5],[3,6],[3,7],[3,8],[3,9],[3,10],[3,11],[3,12],[3,13],[3,14],[3,15],[3,16],[3,17],[3,18],[3,19],[3,20],[4,4],[4,5],[4,6],[4,7],[4,8],[4,9],[4,10],[4,11],[4,12],[4,13],[4,14],[4,15],[4,16],[4,17],[4,18],[4,19],[4,20],[5,5],[5,6],[5,7],[5,8],[5,9],[5,10],[5,11],[5,12],[5,13],[5,14],[5,15],[5,16],[5,17],[5,18],[5,19],[5,20],[6,6],[6,7],[6,8],[6,9],[6,10],[6,11],[6,12],[6,13],[6,14],[6,15],[6,16],[6,17],[6,18],[6,19],[6,20],[7,7],[7,8],[7,9],[7,10],[7,11],[7,12],[7,13],[7,14],[7,15],[7,16],[7,17],[7,18],[7,19],[7,20],[8,8],[8,9],[8,10],[8,11],[8,12],[8,13],[8,14],[8,15],[8,16],[8,17],[8,18],[8,19],[8,20],[9,9],[9,10],[9,11],[9,12],[9,13],[9,14],[9,15],[9,16],[9,17],[9,18],[9,19],[9,20],[10,10],[10,11],[10,12],[10,13],[10,14],[10,15],[10,16],[10,17],[10,18],[10,19],[10,20],[11,11],[11,12],[11,13],[11,14],[11,15],[11,16],[11,17],[11,18],[11,19],[11,20],[12,12],[12,13],[12,14],[12,15],[12,16],[12,17],[12,18],[12,19],[12,20],[13,13],[13,14],[13,15],[13,16],[13,17],[13,18],[13,19],[13,20],[14,14],[14,15],[14,16],[14,17],[14,18],[14,19],[14,20],[15,15],[15,16],[15,17],[15,18],[15,19],[15,20],[16,16],[16,17],[16,18],[16,19],[16,20],[17,17],[17,18],[17,19],[17,20],[18,18],[18,19],[18,20],[19,19],[19,20],[20,20],[20,21],[21,21],[21,22],[22,22],[22,23],[23,23],[23,24],[24,24],[24,25],[25,25],[25,26],[26,26],[26,27],[27,27],[27,28],[28,28],[28,29],[29,29]]

অন্য কোনও সংখ্যক পূর্ণসংখ্যার ব্যাডমিন্টনের একটি অবৈধ স্কোর।

চ্যালেঞ্জ বিধি:

  • I / O নমনীয়, তাই:
    • আপনি দুটি সংখ্যার তালিকা হিসাবে ইনপুট নিতে পারেন; STDIN বা ফাংশন পরামিতিগুলির মাধ্যমে দুটি পৃথক সংখ্যা; দুটি স্ট্রিং; প্রভৃতি
    • আউটপুট আপনার নিজস্ব পছন্দ তিনটি স্বতন্ত্র এবং অনন্য মান হবে। পূর্ণসংখ্যার (অর্থাত হতে পারে [0,1,2], [1,2,3], [-1,0,1], ইত্যাদি); বুলিয়ান হতে পারে (অর্থাত্ [true,false,undefined/null/empty]); অক্ষর / স্ট্রিং (যেমন ["valid & ended","valid","invalid"]) হতে পারে ; প্রভৃতি
    • আপনি আপনার উত্তরে ব্যবহার করেছেন I / O নির্দিষ্ট করুন!
  • আপনাকে ইনপুট-পূর্ণসংখ্যাকে সর্বনিম্ন থেকে সর্বোচ্চ বা তদ্বিপরীত থেকে প্রাক-অর্ডার দেওয়ার অনুমতি দেওয়া হয়।
  • ইনপুট পূর্ণসংখ্যা নেতিবাচক হতে পারে, এক্ষেত্রে তারা অবশ্যই অবৈধ।

সাধারাইওন রুল:

  • এটি , তাই বাইট জেতে সংক্ষিপ্ত উত্তর।
    কোড-গল্ফ ভাষাগুলি আপনাকে নন-কোডগলফিং ভাষার সাথে উত্তর পোস্ট করতে নিরুৎসাহিত করবেন না। 'যে কোনও' প্রোগ্রামিং ভাষার পক্ষে যতটা সম্ভব সংক্ষিপ্ত উত্তর নিয়ে আসার চেষ্টা করুন।
  • আপনার উত্তরটির জন্য ডিফল্ট আই / ও বিধিগুলি সহ মানক বিধিগুলি প্রযোজ্য , সুতরাং আপনাকে সঠিক পরামিতি এবং ফিরতি-টাইপ, সম্পূর্ণ প্রোগ্রাম সহ STDIN / STDOUT, ফাংশন / পদ্ধতি ব্যবহারের অনুমতি দেওয়া হবে। আপনার কল
  • ডিফল্ট লুফোলগুলি নিষিদ্ধ।
  • যদি সম্ভব হয় তবে আপনার কোডের (যেমন টিআইও ) একটি পরীক্ষার সাথে একটি লিঙ্ক যুক্ত করুন ।
  • এছাড়াও, আপনার উত্তরের জন্য একটি ব্যাখ্যা যুক্ত করা অত্যন্ত প্রস্তাবিত।

পরীক্ষার কেস:

এই পরীক্ষার কেসগুলি বৈধ, এবং সেটটি শেষ হয়েছে:

0 21
12 21
21 23
28 30
29 30

এই পরীক্ষার কেসগুলি বৈধ, তবে সেটটি এখনও চলছে:

0 0
0 20
12 12
21 21
21 22

এই পরীক্ষার কেসগুলি অবৈধ:

-21 19
-19 21
-1 1
12 22
29 31
30 30
42 43
1021 1021

উত্তর:


1

স্ট্যাক্স , 20 বাইট

ÇåπßéD╩¬7▼ß▌ΣU¬í╡S┤╘

এটি চালান এবং এটি ডিবাগ করুন

উদাহরণ হিসাবে একই বিন্যাসে এটি ইনপুট নেয়। 0মানে বৈধ বিজয়ী আছে। 1মানে গেমটি চলছে। -1মানে অবৈধ স্কোর।

সিউডো-কোডে, অর্ডার করা ইনপুট সহ xএবং yঅ্যালগরিদম হয়

sign(clamp(x + 2, 21, 30) - y) | (x < 0 || x >= 30 ? 0 : -1)
  • signমানে সাংখ্যিক চিহ্ন ( -1, 0, অথবা 1)
  • clamp তার প্রথম তর্কটিকে নির্দিষ্ট অর্ধ-খোলা ব্যবধানে বাধ্য করে

6

পাইথন 2 , 97 95 75 72 71 70 69 64 55 54 52 51 50 48 বাইট

lambda a,b:(b-61<~a<a>b/22*b-3)*~(19<b-(b<30)>a)

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

প্রাক অর্ডার হিসাবে ইনপুট লাগে a,b

রিটার্নস -2, -1, 0জন্য ended, in play, invalid

-১ বাইট, কেভিন ক্রুইজসেনকে ধন্যবাদ


বাম অংশ ( b-61<~a<a>b/22*b-3) একটি বৈধতা-চেক এবং ডান অংশ ( 19<b-(b<30)>a) খেলা শেষ হওয়ার জন্য একটি চেক।


6

পাইথন 2 , 47 বাইট

lambda a,b:[61>60-a>b<3+max(19,a)for b in-~b,b]

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

দুটি বুলিয়ানগুলির একটি তালিকা আউটপুট করে। তাদের উত্তরে একটি পরীক্ষা স্যুট লেখার জন্য টিফেল্ডকে ধন্যবাদ জানায় যা আমার সমাধানটি চেক করা সহজ করেছে।

ended: [False, True]
going: [True, True]
invalid: [False, False]

মূল অন্তর্দৃষ্টিটি হ'ল উচ্চতর মান বৃদ্ধি করা bস্কোরকে অবৈধ করে তোলে এমন কোনও বৈধ স্কোর গেমটি শেষ করে । সুতরাং, আমরা কেবল বৈধতার শর্তটি কোড করি এবং গেমটি শেষ হয়েছে কিনা তা (a,b+1)ছাড়াও এটি পরীক্ষা করে (a,b)দেখুন।

বৈধতা তিনটি শর্তের মাধ্যমে পরীক্ষা করা হয় যা একসাথে বেঁধে রাখা হয়:

  • b<3+max(19,a): যে দুটি বা দুটি দ্বারা জিতে) উচ্চতর স্কোর bবিজয়ী নয়b<=21b<=a+2
  • 60-a>b: সমান a+b<=59, স্কোরটি উপরে নয় তা নিশ্চিত করা(29,30)
  • 61>60-a: সমান a>=0, কম স্কোর অ-নেতিবাচক নিশ্চিত করে

পাইথন 2 , 44 বাইট

lambda a,b:[b-61<~a<a>b/22*b-3for b in-~b,b]

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

টিফেল্ডের একটি উন্নত বৈধতা চেক 3 বাইট সংরক্ষণ করে মূল ধারণা "ওভারটাইম" এ শাখা হয় b>21সঙ্গে b/22*bযেহেতু আমি শাখা চাই, যা কার্যকরভাবে সেট করে শূন্য করার জন্য নিচের -21 স্কোর a>19এনাদের সাথে max(19,a)


পাইথন 2 , 43 বাইট

lambda a,b:a>>99|cmp(2+max(19,a)%30-a/29,b)

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

আউটপুট:

ended: 0
going: -1
invalid: 1

299


1
আমার সর্বশেষতম বৈধতা-পরীক্ষা ( b-61<~a<a>b/22*b-3) ব্যবহার করে আপনি 3 বাইট সংরক্ষণ করতে পারবেন।
টিফিল্ড

1
সমস্ত ইনপুটগুলির জন্য আপনার দ্বিতীয় সমাধানটি কাজ করতে +1 বাইট:lambda a,b:-(a<0)|cmp(2+max(19,a)%30-a/29,b)
টিফিল্ড


4

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 53 52 বাইট

a=>b=>b<0|a-b>2&a>21|b>29|a>30?3:a>20&a-b>1|a>29?1:2

হিসাবে ডাকা হয় f(max)(min)। অবৈধের জন্য 3, সমাপ্তের জন্য 1, চলমান হিসাবে 2 প্রত্যাবর্তন করে।

কেভিন ক্রুইজজেনকে ধন্যবাদ 1 বাইট সংরক্ষিত

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


4

জেলি , 25 বাইট

»19«28‘<‘×+2>ɗʋ⁹×,%Ƒ“œþ‘ɗ

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

বাম তর্ক: সর্বনিম্ন। সঠিক যুক্তি: সর্বাধিক।
অবৈধ: 0। চলমান: 1। শেষ হয়েছে: 2

xy

[a]={a:1¬a:0(a,b)=(amod30,bmod31)x,yZX:=min(max(x+1,20),29)p:=(x,y)([X<y]+1)[X+2>y][p=p]

ব্যাখ্যা:

»19«28‘<‘×+2>ɗʋ⁹×,%Ƒ“œþ‘ɗ Left argument: x, Right argument: y
»19«28‘                   X := Bound x + 1 in [20, 29]:
»19                         X := max(x, 19).
   «28                      X := min(X, 28).
      ‘                     X := X + 1.
       <‘×+2>ɗʋ⁹          X := If X + 2 <= y, then 0, else if X < y, then 2, else 1:
       <                    t := If X < y, then 1, else 0.
        ‘                   t := t + 1.
          +2>ɗ              u := Check if X + 2 > y:
          +2                  u := X + 2.
            >                 u := If u > y, then 1, else 0.
         ×                  X := t * u.
                 ,%Ƒ“œþ‘ɗ z := If x mod 30 = x and y mod 31 = y, then 1, else 0:
                 ,          z := (x, y).
                  % “œþ‘    m := z mod (30, 31) = (x mod 30, y mod 31).
                   Ƒ        z := If z = m, then 1, else 0.
                ×         X * z.

3

ভিডিএম-এসএল , 80 বাইট

f(i,j)==if(j-i>2and j>21)or(i<0or i=30or j>30)then{}else{(j>20and j-i>1or j=30)} 

এই ফাংশনটি আরোহী ক্রমে অর্ডার করা স্কোরগুলি গ্রহণ করে এবং স্কোরটি অবৈধ হলে সেটটি সেটটি সম্পূর্ণ হয় কিনা সেটটি সেট করে খালি সেটটি প্রদান করে (যদি সেটটি সম্পূর্ণ এবং বৈধ হয় এবং {মিথ্যা} সেটটি অসম্পূর্ণ থাকে এবং বৈধ)

চালানোর জন্য একটি সম্পূর্ণ প্রোগ্রামটি দেখতে এরকম হতে পারে:

functions
f:int*int+>set of bool
f(i,j)==if(j-i>2and j>21)or(i<0or i=30or j>30)then{}else{(j>20and j-i>1or j=30)}

ব্যাখ্যা:

if(j-i>2 and j>21)             /*if scores are too far apart*/
or(i<0 or i=30 or j>30)        /*or scores not in a valid range*/
then {}                        /*return the empty set*/
else{                       }  /*else return the set containing...*/
     (j>20 and j-i>1 or j=30)  /*if the set is complete*/

3

জাভা (জেডিকে) , 59 48 বাইট

a->b->b<0|b>29|a>b+2&a>21|a>30?0:a<21|a<30&a<b+2

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

একটি Object, যা Integer 0অবৈধ গেমস এবং Booleanএর জন্য trueএবং falseবৈধ চলমান গেমস এবং বৈধ সমাপ্ত গেমসের জন্য যথাক্রমে প্রদান করে। প্রথমে উচ্চতর স্কোর সহ অর্ডার করা স্কোরটি (এবং তরকারী) নেয়।

-2 bytesম্যাচের শেষ চেকটি উল্টিয়ে।
-11 bytesকার্ভিং করে, বিটওয়াইজ অপারেটরগুলি ব্যবহার করে এবং কিছু রিটার্ন টাইপের অটোবক্সিং ট্র্যাকারী - @ কেভিন ক্রুজসেনকে ধন্যবাদ

Ungolfed

a->                      // Curried: Target type IntFunction<IntFunction<Object>>
    b->                  // Target type IntFunction<Object>
                         // Invalid if:
            b<0          //    Any score is negative
          | b > 29       //    Both scores above 29
          |   a > b + 2  //    Lead too big
            & a > 21     //        and leader has at least 21 points
          | a > 30       //    Anyone has 31 points
        ? 0              // If invalid, return 0 (autoboxed to Integer)
                         // If valid, return whether the game is ongoing (autoboxed to Boolean)
                         // Ongoing if:
        :   a < 21       //    Nobody has 21 points
          |   a < 30     //    Leader has fewer than 30 points
            & a < b + 2  //        and lead is small

3

এপিএল (ডায়ালগ ইউনিকোড) , 35 বাইট এসবিসিএস

ইনফিক্স ট্যাসিট ফাংশন যেখানে শেষ হয়েছে 2, চলমান 1, অবৈধ 0, ছোট এবং বৃহত্তর স্কোরগুলি বাকি আছে।

(,≡30 31|,)×(⊢<2+X1+⊢>X29201+⊣

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

কার্যকরী এরিক Outgolfer এর গাণিতিক সূত্র একত্রিত

X:=min(max(x+1,20),29) ([X<y]+1)[X+2>y][(x,y)=(xmod30,ymod31)]

[(x,y)=(x,y)mod(30,31)]×[y<2+X]×(1+[y<(X:=min(29,max(20,1+x)))])

এবং সরাসরি এপিএলে অনুবাদ করা হয়েছে (যা কঠোরভাবে ডান-অ্যাসোসিয়েটিভ, সুতরাং আমরা কিছু বন্ধনী এড়িয়ে চলি):

((x,y)30 31|x,y)×(y<2+X)×1+y>X29201+x

এই কেবল বদলে একটি মৌন ফাংশন রূপান্তরিত করা যাবে জন্য এবং জন্য , দুই ভেরিয়েবল চেয়ে বাম এবং ডান আর্গুমেন্ট প্রতীক বরং:xy

((,)30 31|,)×(<2+X)×1+>X29201+

এখন সমতূল্য কোনো পোতা ফাংশন জন্য , তাই আমরা করতে প্রক্রিয়া সহজ করতে

(,30 31|,)×(<2+X)×1+>X29201+

যা আমাদের সমাধান; (,≡30 31|,)×(⊢<2+X)×1+⊢>X←29⌊20⌈1+⊣:

 বাম যুক্তি;  এক প্লাস যে;  20 সর্বাধিক এবং এটি;  সর্বনিম্ন 29 এবং এটি;  এটিকে নির্ধারণ করুন ;  সঠিক যুক্তিটি কি বড় (0/1) ?;  যুক্ত করুন; ...  সংখ্যাবৃদ্ধি যে নিম্নলিখিত;  দুটি প্লাস ;  চেয়ে কম সঠিক যুক্তি (0/1); …  নিম্নলিখিতটি দিয়ে তার দ্বারা গুণ করুন;  যুক্তিগুলি সম্মতি জানানো;  অবশিষ্টাংশগুলি যখন এই সংখ্যা দ্বারা বিভক্ত হয়; x
1+1+x
20⌈max(20,)
29⌊min(29,)
X←XX:=
⊢>[y>]
1+1+
(()×
2+XX2+X
⊢<[y<]
(()×
,(x,y)
30 31|mod(30,31)
,≡ একত্রিত যুক্তি কি এর সাথে মিল (0/1) ?; [(x,y)=]


3

x86 বিধানসভা, 42 বাইট

ইনপুট নেয় ECXএবং EDXনিবন্ধন করে। নোট যে এর ECXচেয়ে বড় হতে হবে EDX
আউটপুটগুলিতে EAX, যেখানে 0গেমটি এখনও চলছে 1এবং গেমটি শেষ হয়ে গেছে এবং -1(ওরফে FFFFFFFF) একটি অবৈধ স্কোরকে উপস্থাপন করে।

31 C0 83 F9 1E 77 1F 83 FA 1D 77 1A 83 F9 15 7C 
18 83 F9 1E 74 12 89 CB 29 D3 83 FB 02 74 09 7C 
08 83 F9 15 74 02 48 C3 40 C3

অথবা, ইন্টেল সিনট্যাক্সে আরও পঠনযোগ্য:

check:
    XOR EAX, EAX
    CMP ECX, 30     ; check i_1 against 30
    JA .invalid     ; if >, invalid.
    CMP EDX, 29     ; check i_2 against 29
    JA .invalid     ; if >, invalid.
    CMP ECX, 21     ; check i_1 against 21
    JL .runi        ; if <, running.
    CMP ECX, 30     ; check i_1 against 30
    JE .over        ; if ==, over.
    MOV EBX, ECX
    SUB EBX, EDX    ; EBX = i_1 - i_2
    CMP EBX, 2      ; check EBX against 2
    JE .over        ; if ==, over.
    JL .runi        ; if <, running.
                    ; if >, keep executing!
    CMP ECX, 21     ; check i_1 against 21
    JE .over        ; if ==, over.
                    ; otherwise, it's invalid.
    ; fallthrough!
    .invalid:
        DEC EAX     ; EAX = -1
        RETN
    .over:
        INC EAX     ; EAX = 1
    ; fallthrough!
    .runi:
        RETN        ; EAX = 0 or 1

মজাদার ঘটনা: এই ফাংশনটি প্রায় সি কলিং কনভেনশন এর নিয়ম অনুসরণ করে যার উপরে সংরক্ষণের জন্য নিবন্ধিত হয়, কেবল EBXস্ট্যাকের ব্যবহারে কিছু বাইট সংরক্ষণ করতে আমাকে ক্লোবার লাগতে হয়েছিল।


Ptionচ্ছিক (বাইট-কাউন্টে অন্তর্ভুক্ত নেই)

উপরের কোডটি শুরুর আগে সরাসরি 6 টি বাইট যুক্ত করে আপনি পাস ECXএবং EDXআনর্ডারড করতে পারেন :

39 D1 7D 02 87 CA

পাঠযোগ্য ইন্টেল সিনট্যাক্সে যা নিম্নলিখিত:

CMP ECX, EDX
JGE check
XCHG ECX, EDX

2

রেটিনা 0.8.2 , 92 বাইট

\d+
$*
^(1{0,19},1{21}|(1{20,28}),11\2|1{29},1{30})$|^(1*,1{0,20}|(1{0,28}),1?\4)$|.+
$#1$#3

এটি অনলাইন চেষ্টা করুন! লিঙ্কে পরীক্ষার কেস অন্তর্ভুক্ত রয়েছে। আরোহী ক্রমে ইনপুট নেয়। ব্যাখ্যা: প্রথম পর্যায়ে কেবল দশমিক থেকে আনারিতে রূপান্তরিত হয় যাতে স্কোরগুলি সঠিকভাবে তুলনা করা যায়। দ্বিতীয় পর্যায়ে ছয়টি বিকল্প নিদর্শন রয়েছে, তিনটি গ্রুপে বিভক্ত করা হয়েছে যাতে তিনটি স্বতন্ত্র মান আউটপুট হতে পারে যা 10জয়ের 01জন্য, চলমান এবং 00অবৈধের জন্য। নিদর্শনগুলি হ'ল:

  • ০-১৯ এর বিপরীতে, 21 এর স্কোর একটি জয়
  • 20-28 এর বিপরীতে, +2 এর স্কোর একটি জয়
  • 29 এর বিপরীতে 30 এর স্কোর একটি জয়
  • যেকোন (নিম্ন) স্কোরের বিপরীতে 0-২০ এর স্কোর চলমান
  • 28 পর্যন্ত স্কোরের বিপরীতে, +1 এর স্কোর চলছে
  • অন্য কিছু (নেতিবাচক স্কোর সহ) অবৈধ


1

বাশ 4+, 97 89 91 88 বাইট

ধরুন ইনপুটগুলি আরোহী। ভিডিএম-এসএল উত্তর থেকে ব্যবহৃত ধারণাগুলি । অনলাইনে চেষ্টা করে দেখুন
z==0 - গেমটি চলছে
z==1- গেমটি সমাপ্ত
z==2- অবৈধ

-8 কন্ডিশন থেকে বন্ধনী পরিষ্কারের মাধ্যমে (( & | ))
+2 একটি বাগ ঠিক করা, কেভিন ক্রুইজসেন- কেভিন ক্রুইজসেন দ্বারা যুক্তিযুক্ত উন্নতি
-3

i=$1 j=$2 z=0
((j-i>2&j>21|i<0|i>29|j>30?z=2:0))
((z<1&(j>20&j-i>1|j>29)?z=1:0))
echo $z

1
তোমার 89 বাইট সংস্করণ আউটপুট বলে মনে হয় 1পরিবর্তে 2জন্য 0 30। আপনার 97 বাইট সংস্করণটি সঠিকভাবে কাজ করছে, সুতরাং আপনি যদি এটি ঠিক করতে অক্ষম হন তবে আপনি সর্বদা রোলব্যাক করতে পারেন। 97 সংস্করণে আপভোটড। :)
কেভিন ক্রুইজসেন


1
আমি এটা ঠিক করেছিলাম, তবে আপনার ভাল ছিল! ধরে রাখা শক্ত: পি
রোব্লোগিক

এ বাগ 29 30:( এটি "সম্পূর্ণ" দিতে হবে
roblogic

1
আহা উফ .. এটি ঠিক করার জন্য দ্বিতীয় তৃতীয় স্থানে থাকা i>29উচিত j>29
কেভিন ক্রুইজসেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.