আসুন 421 এর স্কোরিং নিয়ম অনুশীলন করা যাক!


13

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

গেমটি 3 স্ট্যান্ডার্ড কিউব ডাইস দিয়ে খেলেছে।

কার্য

আপনার কাজটি এই গেমের স্কোরিং নিয়ম প্রয়োগ করে স্বতন্ত্র 3-ডাইস রোলস [এক্স, ওয়াই, জেড] এর সর্বোচ্চ থেকে সর্বনিম্ন সর্বনিম্ন 3 টি ডাইস রোলগুলি তালিকাভুক্ত করা ।

বেসিক স্কোরিং

  • 4,2,1 হল সর্বোচ্চ সম্ভাব্য সংমিশ্রণ। নিয়মের উপর নির্ভর করে এটি 8, 10 বা 11 পয়েন্ট স্কোর করতে পারে। যেহেতু আমরা পয়েন্টগুলি গণনা করার পরিবর্তে রোলগুলি বাছাই করছি, সঠিক মানটি কোনও ব্যাপার নয়।
  • থ্রি এসেস: 1,1,1 হ'ল দ্বিতীয় সর্বোচ্চ সংমিশ্রণ এবং স্কোর 7 পয়েন্ট।
  • টু-এসেস: এক্স, 1,1 (যেখানে এক্স 2 থেকে 6) স্কোর এক্স পয়েন্ট।
  • থ্রি-অফ-এ-কিন্ড: এক্স, এক্স, এক্স (যেখানে এক্স 2 থেকে 6) স্কোর এক্স পয়েন্ট।
  • স্ট্রেইটস: এক্স, এক্স + 1, এক্স + 2 স্কোর 2 পয়েন্ট।
  • অন্যান্য সমস্ত রোল স্কোর 1 পয়েন্ট।

সম্পর্ক স্থাপন

যখনই দুটি রোল একই সংখ্যক পয়েন্ট দেয়, নিম্নলিখিত বিধিগুলি প্রয়োগ হয়:

  • একটি দ্বি-এ্যাসি থ্রি-অফ-এ-কিন্ডের চেয়ে ভাল। উদাহরণ: 5,1,1 বীট 5,5,5
  • থ্রি-অফ-এ-কিন্ড 2,2,2 স্ট্রেটের চেয়ে ভাল। উদাহরণ: 2,2,2 বীট 4,5,6
  • স্ট্রেইটগুলি সর্বনিম্ন থেকে সর্বোচ্চে অর্ডার করা হয়। উদাহরণ: 4,5,6 2,3,4 মারধর করে ।
  • অন্যান্য সমস্ত রোলগুলি পাশ থেকে সর্বোচ্চ থেকে নীচে পর্যন্ত বাছাই করে মীমাংসা করা হয়। উদাহরণ: 6,5,2 বীট 6,4,3 । (অতএব, গেমটিতে সর্বনিম্ন সম্ভাব্য সংমিশ্রণটি 2,2,1 ।)

নীচে সর্বোচ্চ থেকে নিম্নতম পর্যন্ত অর্ডার করা হয়েছে 56 টি পৃথক রোলগুলির নীচে:

421 111 611 666 511 555 411 444 311 333 211 222 654 543 432 321
665 664 663 662 661 655 653 652 651 644 643 642 641 633 632 631
622 621 554 553 552 551 544 542 541 533 532 531 522 521 443 442
441 433 431 422 332 331 322 221

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

  • আপনি রোলগুলি যে কোনও যুক্তিসঙ্গত বিন্যাসে নিতে পারেন, যেমন তালিকার [[3,2,1],[4,2,1]]তালিকা, স্ট্রিংগুলির ["321","421"]তালিকা, পূর্ণসংখ্যার তালিকা [321,421]ইত্যাদি However তবে, প্রতিটি ডাই অবশ্যই 1 থেকে 6 এর মান সহকারে চিহ্নিত করতে হবে ।
  • প্রতিটি রোলের জন্য, আপনি ধরে নিতে পারেন যে ডাইসটি নীচে থেকে সর্বোচ্চ বা সর্বোচ্চ থেকে নীচে পর্যন্ত বাছাই করা হয় যতক্ষণ না এটি ধারাবাহিক থাকে। আপনার উত্তরে দয়া করে জানান যে আপনি কোন আদেশের প্রত্যাশা করছেন, যদি কোনও হয়।
  • বাইটের সংক্ষিপ্ত উত্তরটি জিতল!

পরীক্ষার মামলা

পাশ থেকে স্ট্রিংয়ের তালিকা ব্যবহার করে সর্বোচ্চ থেকে নিম্নে সাজানো:

ইনপুট

[ "321", "654" ]
[ "222", "321", "211" ]
[ "333", "311", "331", "111" ]
[ "111", "222", "333", "444" ]
[ "321", "421", "521", "621" ]
[ "422", "221", "442", "421", "222" ]
[ "222", "111", "421", "211", "651", "652", "543" ]

প্রত্যাশিত ফলাফল

[ "654", "321" ]
[ "211", "222", "321" ]
[ "111", "311", "333", "331" ]
[ "111", "444", "333", "222" ]
[ "421", "321", "621", "521" ]
[ "421", "222", "442", "422", "221" ]
[ "421", "111", "211", "222", "543", "652", "651" ]

বাছাই স্থিতিশীল হওয়া উচিত?
এরিক আউটগল্ফার 19

টুইটসমূহ
আর্নল্ড

প্রতিটি মরাকে 1-6 এর পরিবর্তে 0-5 হিসাবে গ্রহণ করা ঠিক হবে (উদাহরণস্বরূপ 012পরিবর্তে 123)?
wastl

@ ওয়াস্টল আমি না বলব ফর্ম্যাটটি নমনীয় তবে পাশার মান অবশ্যই [1 ... 6] এ থাকতে হবে।
আর্নল্ড

আপনি পাব উপর চালা?
বিটা ক্ষয়

উত্তর:


6

পাইথন , 93 বাইট

lambda a:sorted(a,key=lambda x:(x!=421,x>111,-(x%100<12)*x-(x%111<1)*x*.9,(x%111==99)*-x,-x))

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


পাইথন 2 এটিকে কী নির্দিষ্ট করে?
সলোমন উকো

@ সলোমনউকো কিছুই নয় , তবে আমার ধারণা এটি পাইথন 2 হিসাবে চিহ্নিত হয়েছে কারণ এটি টিআইও থেকে কোড গল্ফ সাবমিশন টেম্পলেট দ্বারা স্বয়ংক্রিয়ভাবে উত্পাদিত হয়েছিল ।
মিঃ এক্সকোডার

1
আপনি 111 = 37 * 3 (এবং সমস্ত সম্ভাব্য ট্রিপলটির মধ্যে কেবল এক্সএক্সএক্সএক্স ট্রিপল 37 দ্বারা বিভাজ্য) এটি
digEmAll

1
sortপদ্ধতিটির সাথে বাছাই করে আপনি 2 বাইট হারাতে পারেন ।
জাকোব

4

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

O$#^`(421|111)|(\d)((11)|\2\2)|(654|543|432|321)|\d{3}
$1$2$#4$#5$&

এটি অনলাইন চেষ্টা করুন! লিঙ্কে পরীক্ষার কেস অন্তর্ভুক্ত রয়েছে। ব্যাখ্যা: সংখ্যার বাছাই কী নিম্নলিখিত হিসাবে উত্পন্ন:

421     42100421
111     11100111
611-211   610611-  210211
666-222   600666-  600222
654-321    01654-   01321
653-221    00653-   00221

@ আর্নল্ড দুঃখিত, আমি বুঝতে পারি না যে আমি এই মামলাগুলি মিশ্রিত করব। ভাগ্যক্রমে আমি মনে করি আমি একই বাইট গণনার জন্য এটি ঠিক করতে সক্ষম হয়েছি।
নিল

এখন এটি সত্যিই ঠিক দেখাচ্ছে।
আর্নল্ড

4

জেলি ,  37  34 বাইট

;Ø1,ẋ3$)Ẏṙ-;‘r’Ɗ€;œċ3$Ṇ63¦
6RṚÇiµÞ

ডাইস রোলগুলির (প্রতিটি সাজানো অবতরণ) তালিকার একটি তালিকা গ্রহণ করে একটি মোনাডিক লিঙ্ক, যা সাজানো রোলগুলি অবতরণ করে।

এটি অনলাইন চেষ্টা করুন! অথবা একটি পরীক্ষা-স্যুট দেখুন ... বা রোলিক্সিকভাবে বাছাই করা সমস্ত রোল চেষ্টা করুন

কিভাবে?

এই পদ্ধতি সর্বনিম্ন * সর্বোচ্চ থেকে সব রোলস একটি তালিকা তৈরী করে, প্রতিস্থাপন [4,2,1]সঙ্গে 0, জেলি প্রথম সূচক অফ পরমাণু ব্যবহার করে প্রতিটি রোল পদে অনুক্রমে (একটি অবৈধ ইনপুট রোল), i

* তালিকায় পুনরাবৃত্তি এবং অপ্রয়োজনীয় এন্ট্রিও রয়েছে যা আচরণের উপর প্রভাব ফেলবে না:

[[1,1,1],[6,1,1],[6,6,6],[5,1,1],[5,5,5],[4,1,1],[4,4,4],[3,1,1],[3,3,3],[2,1,1],[2,2,2],[1,1,1],[7,6,5],[6,5,4],[5,4,3],[4,3,2],[3,2,1],[2,1,0],[6,6,6],[6,6,5],[6,6,4],[6,6,3],[6,6,2],[6,6,1],[6,5,5],[6,5,4],[6,5,3],[6,5,2],[6,5,1],[6,4,4],[6,4,3],[6,4,2],[6,4,1],[6,3,3],[6,3,2],[6,3,1],[6,2,2],[6,2,1],[6,1,1],[5,5,5],[5,5,4],[5,5,3],[5,5,2],[5,5,1],[5,4,4],[5,4,3],[5,4,2],[5,4,1],[5,3,3],[5,3,2],[5,3,1],[5,2,2],[5,2,1],[5,1,1],[4,4,4],[4,4,3],[4,4,2],[4,4,1],[4,3,3],[4,3,2],[4,3,1],[4,2,2],0,[4,1,1],[3,3,3],[3,3,2],[3,3,1],[3,2,2],[3,2,1],[3,1,1],[2,2,2],[2,2,1],[2,1,1],[1,1,1]]

;Ø1,ẋ3$)Ẏṙ-;‘r’Ɗ€;œċ3$Ṇ63¦ - Link 1, build rolls: descending pips, P  e.g. [6,5,4,3,2,1]
       )                   - for each:       e.g. X=5
 Ø1                        -   literal [1,1]
;                          -   concatenate        [5,1,1]
      $                    -   last two links as a monad (f(X)):
     3                     -     literal 3
    ẋ                      -     repeat           [5,5,5]
   ,                       -   pair               [[5,1,1],[5,5,5]]
        Ẏ                  - tighten (to a list of rolls rather than pairs of rolls)
          -                - literal -1
         ṙ                 - rotate left by (make rightmost [1,1,1] the leftmost entry)
               Ɗ€          - for €ach: last three links as a monad (f(X)):
            ‘              -   increment  -> X+1
              ’            -   decrement  -> X-1
             r             -   range      -> [X+1,X,X-1]
                           -   ...note: [7,6,5] and [2,1,0] are made but are redundant
           ;               - concatenate
                     $     - last two links as a monad (f(P)):
                    3      -   literal 3
                  œċ       -   combinations with replacement -> [[6,6,6],[6,6,5],...,[6,6,1],[6,5,5],...,[1,1,1]]
                 ;         - concatenate
                         ¦ - sparse application...
                       63  - ...to indices: 63
                      Ṇ    - ...what: NOT   -> replaces the [4,2,1] entry with a 0

6RṚÇiµÞ - Main Link: list of rolls
     µÞ - sort by the monadic link:
6       -   six
 R      -   range -> [1,2,3,4,5,6]
  Ṛ     -   reverse -> [6,5,4,3,2,1]
   Ç    -   call the last link as a monad -> [[1,1,1],[6,1,1],[6,6,6],[5,1,1],...]
    i   -   first index of (e.g.: [1,1,1]->1 or [6,1,1]->2 or [4,2,1]->0)

3

আর , 73 বাইট

(x=scan())[order(x!=421,x>111,-(x%%100<12)*x-(!x%%37)*x*.9,x%%37!=25,-x)]

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

  • পুরো প্রোগ্রামটি স্টিডিনের কাছ থেকে পূর্ণসংখ্যার একটি তালিকা গ্রহণ করে তাদের উতরাই ক্রমে (যেমন 421 ... 221) ফেরত দেওয়া
  • @ লিন উত্তর দ্বারা আংশিকভাবে অনুপ্রাণিত হিসাবে শুরু হয়েছে , এখন এটি মূলত একটি পোর্টিং ... তাই ক্রেডিটগুলি @ লিন;)
  • x % 37পরিবর্তে বিভাগ বাকী পেয়ে 2 বাইট সংরক্ষণ করা হয়েছে111

ব্যাখ্যা:

প্রতিটি সংখ্যার জন্য 5 কী গণনা করা হয় এবং অ্যারে বাছাই করার জন্য শ্রেণিবদ্ধভাবে ব্যবহৃত হয়:

key1 = 0 if equal to 421, 1 otherwise
key2 = 0 if equal to 111, 1 otherwise
key3 = 0 
       - 1.0*x if number is x11 numbers (2 aces)
       - 0.9*x if number is xxx numbers (3 of a kind)
key4 = 0 if number is a straight, 1 otherwise
key5 = -x

Then the array is sorted by key1 first, then by key2 in case of tie and so on...

2

05 এ বি 1 ই , 76 48 45 বাইট

421X36LR©vy11«y3∍}®vy>yJ})D®3ãJsм)˜©IΣ®sk>

এটি প্রত্যাশার চেয়ে অনেক দীর্ঘ হতে দেখা গেছে, তবে অন্তত এটি কার্যকর করা সহজ। আমি আরও ভাল সমাধান খুঁজে পেতে পারি কিনা তা দেখতে পাবে .. এখন হাতে হাতে তালিকা তৈরি করুন, তবে এখনও কিছুটা দীর্ঘ long

এটি অনলাইনে চেষ্টা করুন বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

421             # Push 421 to the stack
X3             # ('1' lengthened to size 3) Push 111 to the stack
6LR             # Take the range [6, 1]
   ©            # Save this range in the register so we can re-use it
   v    }       # Loop over this range:
    y11«        #  Merge '11' with the current number `y`, and push it to the stack
    y3         #  Lengthen the current number `y` to size 3, and push it to the stack
   ®v      }    # Load the range [6, 1] from the register, and loop over it again:
     y>y      #  Take the range [`y+1`, `y-1`]
          J     #  And join them together to single 3-digit numbers
)               # Push everything that's now on the stack to a single list
 D              # Duplicate this list
  ®             # Load the range [6, 1] from the register again
   3ã           # Take the cartesian repeated three times
     R          # Reverse this list
      J         # Join every inner list to a single 3-digit number
 s              # Swap, so the duplicate list of above is at the top of the stack again
  м             # And remove all those items from the cartesian list
   )            # Combine both lists (as list of lists)
    ˜           # Flatten it
     ©          # Store this full completed list (now equal to the challenge description,
                #  with some additional values we can ignore) in the register
I               # Take the input-list
 Σ              # Sort it by:
  ®             #  The list we generated above
   sk           #  Take the 0-indexed indices
     >          #  And increase it by 1 (because apparently 0 is placed at the back,
                #  so '421' would always be at the end)

কোডটি উত্পন্ন করার প্রথম অংশটি এখানে প্রকৃত তালিকা:

['421','111','611','666','511','555','411','444','311','333','211','222','111','111','765','654','543','432','321','210','','665','664','663','662','661','656','655','','653','652','651','646','645','644','643','642','641','636','635','634','633','632','631','626','625','624','623','622','621','616','615','614','613','612','','566','565','564','563','562','561','556','','554','553','552','551','546','545','544','','542','541','536','535','534','533','532','531','526','525','524','523','522','521','516','515','514','513','512','','466','465','464','463','462','461','456','455','454','453','452','451','446','445','','443','442','441','436','435','434','433','','431','426','425','424','423','422','','416','415','414','413','412','','366','365','364','363','362','361','356','355','354','353','352','351','346','345','344','343','342','341','336','335','334','','332','331','326','325','324','323','322','','316','315','314','313','312','','266','265','264','263','262','261','256','255','254','253','252','251','246','245','244','243','242','241','236','235','234','233','232','231','226','225','224','223','','221','216','215','214','213','212','','166','165','164','163','162','161','156','155','154','153','152','151','146','145','144','143','142','141','136','135','134','133','132','131','126','125','124','123','122','121','116','115','114','113','112','']

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

আপনি দেখতে পাচ্ছেন এতে খালি আইটেম রয়েছে; সংখ্যা 765বা মত 210; এবং পরিসীমা সংখ্যা [216, 112]। তবে আমরা সকলেই এগুলি উপেক্ষা করতে পারি, কারণ আমরা যে আইটেমগুলিকে আসলে বাছাই করতে চাই তা সঠিক ক্রমে থাকে।


আসল 76 বাইট সমাধান:

Σ•X˜„Éε´õñ€9Ú ù?ä09úd5àPÎøŒccuĆYÑ,o¾eíË¿¼À8@gID=vÆOΣxjF¨OJ₃^εR\èv667вsk>

এটি অনলাইনে চেষ্টা করুন বা সমস্ত পরীক্ষার কেস যাচাই করুন (কোনও পরীক্ষার স্যুট নেই কারণ সংক্রামিত সংখ্যার সাথে বাছাইয়ের বন্ধনীটি দেখতে না পেয়ে বাছাইয়ের বন্ধনীটি দেখতে না পাওয়ায় এখনও কোনও বাগ রয়েছে )।

ব্যাখ্যা:

Σ             # Sort by:
 •...•667в    #  The correctly sorted list of all possible rolls from the challenge
 sk           #  Take the 0-indexed indices
   >          #  And increase it by 1 (because apparently 0 is placed at the back,
              #  so '421' would always be at the end)

ব্যাখ্যা •X˜„Éε´õñ€9Ú ù?ä0₅9úd5àPÎøŒccuĆYÑ,o¾eíË¿¼À8@gID=vÆOΣxjF¨O‡J₃^εR™\èv•667в:

দুজনের মধ্যে থাকা সমস্ত কিছুই একটি সংকুচিত সংখ্যা যা নিম্নলিখিত প্রোগ্রামটির সাথে উত্পন্ন হয়:

Z 255B

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

  • Z>: তালিকার সর্বাধিক +1 নিন ( 667এই ক্ষেত্রে)
  • β: বেস থেকে তালিকাটিকে 667একক সংখ্যায় রূপান্তর করুন
  • 255B: এবং সেই একক সংখ্যাটিকে বেসে রূপান্তর করুন 255(05AB1E এর কোড পৃষ্ঠা ব্যবহার করে), যাতে আমাদের সংকুচিত সংখ্যাটি রয়েছে

667вএটি ব্যবহার করে এই সংকুচিত নম্বরটি মূল তালিকায় ফিরে আসে।


2

জাভাস্ক্রিপ্ট (ES7), 96 বাইট

d=>d.sort((a,b,g=(n,[x,y,z]=n)=>n**=n-421?y*z-1?x-y|y-z?~y%x|~z%y?1:2:3:x-1?3.1:5:5)=>g(b)-g(a))

স্কোরিংয়ের নিয়মগুলি নিবিড়ভাবে মেনে চলার রোলগুলি বাছাই করে। মানের উত্থানের ক্রমে পৃথক রোলগুলির সাথে একটি স্ট্রিংয়ের আশা করে["654"]

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

ব্যাখ্যা

রোলগুলির বিভাগগুলি নীচের অংশীদারদের কাছে উত্থাপিত হয়:

421                 5
Three Aces          5
Two Aces            3.1
Three-of-a-Kind     3
Straights           2
Other               1

Ungolfed

শর্তসাপেক্ষ চেকগুলি মানসিকভাবে মোড়ক দেওয়া আমার মাথা ব্যাথা দেয় এবং আমি নিশ্চিত যে এটি কোনওরকমে আরও গল্ফ হতে পারে ...

var f =
d => d.sort(
    (
     a, b,
     g = (n, [x, y, z] = n) =>               // destructure rolls, e.g. "321" => ["3","2","1"]
        n **=                                // differentiate scores by raising to the exponent corresponding to its category in the table above
                                             // all conditionals check for a falsy value
            n - 421
                ? y * z - 1                  // ends with "11"
                    ? x - y | y - z          // three-of-a-kind
                        ? ~y % x | ~z % y    // straights, with operators chosen to correctly convert strings to numbers
                            ? 1
                            : 2
                        : 3
                    : x - 1                  // three aces
                        ? 3.1
                        : 5
                : 5
    ) =>
    g(b) - g(a)
)

1

জাভাস্ক্রিপ্ট, 101 টি অক্ষর, 116 বাইট (UTF-8)

a=>(r=d=>(i="ƥoɣʚǿȫƛƼķōÓÞʎȟưŁ".indexOf(String.fromCharCode(d)),i<0?700-d:i),a.sort((a,b)=>r(a)-r(b)))

রোলগুলির মতো প্রতিনিধিত্ব করে এমন সংখ্যার একটি অ্যারে নেয় [ 321, 654 ]

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

ব্যাখ্যা:

আমি 56 সম্ভব স্বতন্ত্র রোলস (বেশী যে সত্যিই কোনো আদেশ অনুসরণ করো না) প্রথম 16 নিয়ে যায় এবং আমি তাদের একটি স্ট্রিং হিসাবে এনকোডেড: "ƥoɣʚǿȫƛƼķōÓÞʎȟưŁ"। এই স্ট্রিং প্রত্যেকটি চরিত্র প্রথম 16 সম্ভব রোলস অনুরূপ ( ƥহয় 421, oহয় 111, ...)। এখন প্রতিটি দুটি উপাদান aএবং bঅ্যারের জন্য আমরা কেবল স্ট্রিং থেকে তাদের সূচকটি পরীক্ষা করি, যদি সেগুলি অন্তর্ভুক্ত থাকে তবে সূচকটি ব্যবহৃত হয়, অন্যথায় (সূচীটি হয় -1) আমরা নিজেই রোল নম্বরটি ব্যবহার করি (আমরা এটির ক্রমকে 700বিপরীত করতে বিয়োগ করতে পারি ) এগুলি অন্তর্ভুক্ত নয়, অর্থাত্ হ্রাসমান ক্রমে তাদের বাছাই করা)।


এনবি: অন্যথায় নির্দিষ্ট না করা পর্যন্ত কোডের দৈর্ঘ্য সর্বদা বাইটে পরিমাপ করা হয়। চরগুলির সংখ্যা কখনও কখনও প্রাসঙ্গিক হতে পারে তবে আমি মনে করি এটি এখানে নেই। প্রাসঙ্গিক মেটা উত্তর
আর্নল্ড

@ আর্নল্ড ইয়ে! বিটিডব্লিউ আমিই সেই মেটা প্রশ্ন জিজ্ঞাসা করেছি ;-)
ইব্রাহিম মাহরির

1
ডি আহা! আমি এই
বিশদটি

1

পরিষ্কার , 169 102 বাইট

সমস্ত অষ্টাল পালানো এক বাইট হিসাবে গণনা করা হয়, কারণ ক্লিন সংকলক আনন্দের সাথে তাদের সেভাবে নিয়ে যাবে, তবে টিআইও এবং এসই তা করবে না কারণ তারা ইউটিএফ -8 সুসংহত নয়।

import StdEnv
$l=[e\\c<-:"\245\157\143\232\377\53\233\274\67\115\323\336\216\37\260\101\231\230\227\226\225\217\215\214\213\204\203\202\201\171\170\167\156\155\52\51\50\47\40\36\35\25\24\23\n\11\273\272\271\261\257\246\114\113\102\335",e<-l|c==toChar e]

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

সমস্ত ডাইস রোলগুলি পূর্ণসংখ্যার 256 মডিউল হিসাবে অনন্য are
সুবিধার্থে, Char256 পূর্ণসংখ্যা হিসাবে (বেশিরভাগ ক্ষেত্রে) চিকিত্সা করা হয়।


1

পাইথ , 48 বাইট

oxs[]j421T]j7 2_sm+Ld,,ddjT9tS6_m_+LdS3 4.C_S6 3

নেস্টেড অ্যারে হিসাবে ইনপুট আশা করে, প্রতিটি উপাদান অবতরণ করার আদেশ দেয়। এটি এখানে অনলাইনে চেষ্টা করুন , বা এখানে সমস্ত পরীক্ষার কেস একবারে যাচাই করুন

oxs[]j421T]j7 2_sm+Ld,,ddjT9tS6_m_+LdS3 4.C_S6 3)NQ   Final 3 tokens inferred from context
                                                      Implicit: Q=eval(input()), T=10
    ]j421T                                            Convert 421 to base 10, wrap in array -> [[4,2,1]]
          ]j7 2                                       Convert 7 to base 2, wrap in array -> [[1,1,1]]
                 m          tS6                       Map d in [2,3,4,5,6] using:
                      ,dd                               [d,d]
                         jT9                            Convert 10 to base 9 -> [1,1]
                  +Ld,                                  Prepend d to each of the above
               _s                                     Flatten and reverse -> [[6,1,1],[6,6,6]...[2,2,2]]
                                m       4             Map d in [0,1,2,3] using:
                                  +LdS3                 [d+1,d+2,d+3]
                                 _                      Reverse the above
                               _                      Reverse the result -> [[6,5,4]...[3,2,1]]
                                           _S6        [6,5,4,3,2,1]
                                         .C    3      All 3-element combinations of the above, respecting order
  s[                                            )     Wrap the 5 previous sections in an array, concatenate
ox                                               NQ   Order Q using each element's index in the above list

1

05 এ বি 1 ই , 24 বাইট

Σ5βËyθyP‚yнÃ6βyË_y¥PΘy)(

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

সামগ্রিক অ্যালগরিদম:

Σ          )( # sort by the following, in decreasing priority:
 5βË          # 1 for 421, 0 otherwise
 yθyP‚yнÃ6β   # 7 for 111, X for XXX and X11, 0 otherwise
 yË_          # 0 for XXX, 1 otherwise
 y¥PΘ         # 1 for sequences, 0 otherwise
 y            # the roll itself

বিবরণ:

5β          # parse the roll as a base-5 number
  Ë         # are all digits equal? (base-5 421 is 111)

yθ          # last die (equal to the 1st die iff we have XXX)
  yP        # product of dice (equal to the 1st die iff we have X11)
    ‚       # wrap the two in an array
     yнà    # keep only those that are equal to the 1st die
        6β  # parse as a base-6 number (111 -> [1, 1] -> 7)

yË          # are all dice equal?
  _         # boolean negation

y¥          # deltas ([a, b, c] -> [b - a, c - b])
  P         # product
   Θ        # 1 if it's equal to 1, 0 otherwise
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.