এমআইটির অধ্যাপক মন পড়তে পারেন!


46

আপনি মন পড়তে পারেন নামক অধ্যাপক দেবদাসের একটি এমআইটি বক্তৃতা থেকে এই কাজটি নেওয়া হয়েছে । কৌশলটির একটি বিশদ ব্যাখ্যা লিঙ্কযুক্ত ভিডিওতে বা এই দস্তাবেজে পাওয়া যাবে । আমি এটিকে সহজ ভাষায় ব্যাখ্যা করার চেষ্টা করব।

দেখা যাচ্ছে এটি 1930 এর দশকে উদ্ভাবিত হয়েছিল এবং এটি "ফিচ চেনিয়ের পাঁচ কার্ডের কৌশল" নামে পরিচিত ।


কৌশলটি এরকম হয়:

  • কার্ডের একটি ডেকে থেকে পাঁচটি এলোমেলো কার্ড নির্বাচন করা হয়। শ্রোতা এবং আপনার সহকারী সেগুলি দেখতে পান তবে আপনি তা পান না।
  • আপনার সহকারী (যার সাথে আপনি অনুশীলন করেছেন) সেই কার্ডগুলির মধ্যে চারটি নির্বাচন করবেন এবং একটি নির্দিষ্ট ক্রমে আপনাকে তা প্রদর্শন করবেন। নোট করুন যে লুকানো কার্ডটি এলোমেলোভাবে 5 টি কার্ড থেকে নেওয়া হয়নি। সহকারী একটি / কার্ড বাছায় যা কৌশলটিকে কাজ করবে।
  • পঞ্চম কার্ডটি কী চারটি কার্ড থেকে সংগ্রহ করতে পারবেন সেই তথ্যের ভিত্তিতে আপনি কেটে নেবেন।

কিভাবে?

নিম্নলিখিত দুটি বিষয় মাথায় রাখুন:

  1. ৫ টি এলোমেলো কার্ড বাছাই করার সময়, আপনি গ্যারান্টিযুক্ত যে কমপক্ষে দুটি কার্ডের ক্ষেত্রে একই মামলা 1 রয়েছে

  2. নীচের চিত্রটি সমস্ত র‌্যাঙ্ক 2 সহ একটি বৃত্ত দেখায় । যেহেতু এটি একটি বৃত্ত, তাই এটি গণনা করা সম্ভব: জে, কিউ, কে, এ, ২, ৩ (অর্থাত্ মডুলার গণনা)। আপনি গ্যারান্টিযুক্ত যে গোপন কার্ডটি প্রথমের মতো একই র‍্যাঙ্কের না থাকে, যেহেতু তারা একই মামলাতে থাকবে (নীচে বর্ণিত)। সর্বদা প্রথম কার্ড এবং লুকানো কার্ডগুলি চয়ন করা সবসময়ই সম্ভব যে লুকানো কার্ডটি প্রথমের চেয়ে 1 থেকে 6 রকের বেশি (চেনাশোনাগুলিতে গণনা করার সময়)। প্রথম কার্ডটি যদি 1 হয় তবে লুকানো কার্ডটি 2,3,4,5,6 বা 7 হবে । প্রথম কার্ডটি যদি জ হয় , তবে লুকানো কার্ডটি Q, K, A, 2,3 বা 4 এবং আরও কিছু হবে।

কার্ডটি A থেকে K পর্যন্ত একটি বৃত্তে সজ্জিত ran


অ্যালগরিদম:

প্রথম কার্ড: এই কার্ডটিতে লুকানো কার্ডের মতো স্যুট থাকবে। কার্ডটি সেই রেফারেন্স পয়েন্ট হবে যা আপনি যখন লুকানো কার্ডের র‌্যাঙ্কটি নির্ধারণ করবেন তখন ব্যবহার করবেন।

২ য়, তৃতীয় এবং চতুর্থ কার্ডগুলি সমষ্টিগত পরিসীমা 1 ... 6 এ একটি মান ডিকোড করে । আমরা তিনটি কার্ড এস, এম, এল (ক্ষুদ্রতম কার্ড, মিডল কার্ড, বৃহত্তম কার্ড) কল করব। মানগুলি এর মতো এনকোড করা হবে (অভিধানে ক্রম):

S M L   -> 1
S L M   -> 2
M S L   -> 3   
M L S   -> 4
L S M   -> 5
L M S   -> 6 

সুতরাং, যদি প্রথম কার্ডের র‌্যাঙ্কটি 5 হয় এবং বাকি তিনটি কার্ডের 4 টি কিউ 7 থাকে (তাদের এসএলএম অর্ডার করা হয় ), তবে শেষ কার্ডটিতে র‌্যাঙ্ক 5 + 2 = 7 রয়েছে । আপনি যদি চয়ন করতে পারেন যে টেকসই এটি সুসংগত যতক্ষণ না সর্বোচ্চ বা সর্বনিম্ন কার্ড হওয়া উচিত।

যদি বেশ কয়েকটি কার্ড র‌্যাঙ্ক ভাগ করে, তবে মামলাটি অর্ডার নির্ধারণ করবে, যেখানে সি <ডি <এইচ <এস


ছক পূরণ করা:

চারটি কার্ড এইচ 3 (হৃদয়ের তিনটি), ডি কে (হীরকের রাজা) এবং আরও কিছু হিসাবে দেওয়া হবে। আপনি পরিবর্তে 3H এবং কেডি হিসাবে অন্যভাবে ইনপুট নেওয়া বেছে নিতে পারেন ।

ইনপুটটি যে কোনও সুবিধাজনক বিন্যাসে থাকতে পারে তবে আপনি একটি ভেরিয়েবলের স্যুটগুলির তালিকা এবং অন্যটিতে র‌্যাঙ্কের তালিকা একত্রিত করতে পারবেন না। 'D5', 'H3' ..এবং [['D',5],['H',3] ...উভয় ঠিক আছে, কিন্তু 'DHCH',[5,3,1,5]না। আপনি টি বাদে অক্ষরের পরিবর্তে সংখ্যা ব্যবহার করতে পারবেন না ।

আউটপুট

লুকানো কার্ড, ইনপুট হিসাবে একই বিন্যাসে।


উদাহরণ

আসুন একটি ওয়াকথ্রু করি:

Input:
D3 S6 H3 H9

আমরা জানি যে লুকানো কার্ডটি হীরা, কারণ প্রথম কার্ডটি হীরা। আমরা এও জানি যে র্যাঙ্ক হয় 4,5,6,7,8 বা 9 যেহেতু প্রথম কার্ডের র্যাঙ্ক হয় 3

অবশিষ্ট কার্ডগুলি 6,3,9 ==> এম, এস, এল এর অর্ডার করা হয় যা মান 3 কে এনকোড করে । লুকানো কার্ডটি হীরার 3 + 3 = 6 , সুতরাং আউটপুটটি D6 হওয়া উচিত ।

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

C3 H6 C6 S2
C9            # The order is LMS (H6 > C6, and 2 < 6). 3+6=9     

SQ S4 S3 ST   # (ST = S10. Format is optional)
S2            # The order is MSL. 12+3=2

HA CA DA SA
H2            # The order is SML. 14+1=2

এটি , তাই প্রতিটি ভাষার সংক্ষিপ্ততম সমাধানটি জয়ী হয়। ব্যাখ্যা উত্সাহিত হয়!


1 এখানে চারটি স্যুট রয়েছে ( সি লাবস, ডি আইমন্ডস, এইচ আর্টস এবং এস পেডস)।

2 13 টি পদ রয়েছে, 2,3,4,5,6,7,8,9,10, জে, কিউ, কে, এ । আপনি 10 এর পরিবর্তে টি ব্যবহার করতে বেছে নিতে পারেন ।

উত্তর:


17

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

মধ্যে স্ট্রিং একটি অ্যারে হিসাবে ইনপুট লাগে "Rs"ফরম্যাট, যেখানে আর র্যাঙ্ক এবং গুলি মামলা হয়। 10 এর দশকের জন্য "টি" প্রত্যাশা করে। এসেস কম।

a=>(s='A23456789TJQK')[([[R,[,S]],B,C,D]=a.map(c=>[s.search(c[0])+14,c]),R+=D<C|2*((D<B)+(C<B)))%13]+S

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

কিভাবে?

আমরা প্রথমে প্রতিটি কার্ডকে একটি অ্যারে [র‌্যাঙ্ক, কার্ড] এ রূপান্তর করি যেখানে র‌্যাঙ্ক [14 ... 26] এর একটি সংখ্যাসূচক মান এবং কার্ডটি মূল স্ট্রিং।

[[R, [, S]], B, C, D] = a.map(c => ['A23456789TJQK'.search(c[0]) + 14, c])

প্রথম কার্ডের র‌্যাঙ্ক এবং স্যুট যথাক্রমে আর এবং এস-এ সংরক্ষণ করা হয়। অন্য তিনটি কার্ড বি , সি এবং ডি তে সঞ্চিত রয়েছে ।

উদাহরণস্বরূপ, ['3c','6h','6c','2s']হয়ে যায়:

[ [ 16, '3c' ], [ 19, '6h' ], [ 19, '6c' ], [ 15, '2s' ] ]
    ^^    ^     <---------->  <---------->  <---------->
    R     S          B             C             D

তারপরে আমরা প্রতিটি জোড়াকে [বি, সি, ডি] এর সাথে তুলনা করি । একে অপরের সাথে তুলনা করা হলে এই উপাদানগুলি স্পষ্টভাবে স্ট্রিংগুলিতে জোর করা হয়:

[ 19, '6h' ] --> '19,6h'

যেহেতু র‌্যাঙ্ক এবং কার্ড উভয়ই ঠিক দুটি অক্ষরের সমন্বয়ে গ্যারান্টিযুক্ত, তাই অভিধানিক ক্রমে তুলনা করা নিরাপদ।

আমরা গণনা:

(D < C) | 2 * ((D < B) + (C < B))

নীচে সমস্ত সম্ভাব্য সংমিশ্রণ রয়েছে:

 B, C, D | v0 = D < B  | v1 = C < B  | v2 = D < C  | v2|2*(v0+v1)
---------+-------------+-------------+-------------+--------------
 S, M, L |    false    |    false    |    false    |      0
 S, L, M |    false    |    false    |    true     |      1
 M, S, L |    false    |    true     |    false    |      2
 M, L, S |    true     |    false    |    true     |      3
 L, S, M |    true     |    true     |    false    |      4
 L, M, S |    true     |    true     |    true     |      5

শেষ পর্যন্ত, আমরা আর , এস এবং উপরের ফলাফলটি ব্যবহার করে আউটপুট কার্ডটি তৈরি করি :

'A23456789TJQK'[(R += D < C | 2 * ((D < B) + (C < B))) % 13] + S

আপনার রূপটি অকেজো নয়, এটি কেবল বেস এবং শক্তির ভুল পছন্দ! ব্যবহারের 92427**3এবং সংশোধন k+7করার জন্য k+8: 1 বাইট সংরক্ষণ করতেa=>(k='A23456789TJQK'+92427**3)[[[r,s],...x]=a.map((c,i)=>[k.search(c[0])+10,c[1],i]),(r-k[x.sort().map(c=>k=k*2|c[2])|k+8])%13]+s
asgallant

187**97এবং k+15এছাড়াও কাজ করে, তবে আমি নিশ্চিত যে এই দুটি অ্যালগোরিদমের জন্য সংক্ষিপ্ত দুটি সেট pretty
Asgallant

@ এসাগল্যান্ট ভাল লাগছে!
আর্নৌল্ড

@asgallant 1/34547সঙ্গে k+14আরো কাজ করে।
আর্নল্ড

15

পাইথন 2 , 143 140 138 136 127 125 124 123 121 বাইট

lambda(S,V),*l:S+N[F(V)+int(`map(sorted(l,key=lambda(s,v):(F(v),s)).index,l)`[1::3],3)*3/10]
N='23456789TJQKA'*2;F=N.find

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

টেক্কা বেশি


কার্ডগুলির সাজানো তালিকায় তাদের অবস্থানটি সন্ধান করে তিনটি কার্ডকে এনকোড করে 0=smallest, 1=middle, 2=largest:

cards:   [SK, C4, H4]
sorted:  [C4, H4, SK]

ranks:   [ 2            index of SK in sorted
ranks:   [ 2,  0        index of C4 in sorted
ranks:   [ 2,  0,  1    index of H4 in sorted
ranks:   [ 2,  0,  1] = L,S,M

এটি বেস 3 তে পূর্ণসংখ্যায় রূপান্তরিত হয় এবং 3 দ্বারা গুণিত হয় এবং 10 দ্বারা ভাগ হয়:

int('201',3) = 19 -> 19*3//10 = 5

বিভিন্ন এনকোডিংগুলি হ'ল:

cards            base3    *3   /10
[0, 1, 2]  012     5      15     1
[0, 2, 1]  021     7      21     2
[1, 0, 2]  102     11     33     3
[1, 2, 0]  120     15     45     4
[2, 0, 1]  201     19     57     5
[2, 1, 0]  210     21     63     6

সংরক্ষিত:

  • -২ বাইট, ওভসকে ধন্যবাদ

আমি যখন আমি চ্যালেঞ্জটি লিখি তখন কীভাবে আমি দ্বিবার্ষিক পদ্ধতির সাহায্যে এটি সমাধান করতে পারি সে সম্পর্কে ভেবেছিলাম, তবে এটি করার কোনও দুর্দান্ত উপায় আমি খুঁজে বের করতে পারি নি ... গুগল 3হয়ে চালাক ছিল! সুন্দর উত্তর :)
স্টিভি গ্রিফিন

@ স্টিভিগ্রিফিন ধন্যবাদ :) এখন আমি 0শেষের দিকে একটি যোগ করে 10 দ্বারা বিভক্ত করছি, যা সমান বলে মনে হচ্ছে।
TFeld

1
@Arnauld। আমি বিবরণটি আপডেট করেছি আশা করি এটি আমি কী করছি তা কিছুটা পরিষ্কার করে দেওয়া।
টিফিল্ড

10

জেলি , 33 বাইট

ØDḊḊ;“TJQKA”p“CDHS”
¢iⱮµḊŒ¿×4+Ḣị¢

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

ব্যাখ্যা

প্রথম লাইনটি নীলাদিক। এটি 52 কার্ডের একটি তালিকা দেয়

ØDḊḊ;“TJQKA”p“CDHS”
ØD                   Digits: '0123456789'
  ḊḊ                 Dequeue twice: '23456789'
    ;                Append with...
     “TJQKA”         ...the string 'TJQKA': '23456789TJQKA'. These are the ranks
            p        Cartesian product with...
             “CDHS”  ...the suits.
                     This yields the list of all cards in lexicographic order:
                                 ['2C', '2D', '2H', '2S',
                                  '3C', ...         'AS']

মূল লিঙ্কে, ¢প্রথম লিঙ্কের ফলাফলকে কল করে যা কার্ডের তালিকা।

¢iⱮµḊŒ¿×4+Ḣị¢
¢              List of cards
 iⱮ            Index of each (Ɱ) of the inputs in the list.
   µ           New monadic link. The list of indices become this links argument.
    Ḋ          Remove the first one.
     Œ¿        Index of the permutation of the last three items. Gives a number 1-6
               as described in the problem statement.
       ×4      Multiply this by 4 so that when we add to the index of the first
               card we end up in the same suit.
         +Ḣ    Add the first index.
           ị   Use this number to index into...
            ¢  ...the list of cards.

1
আপনি 1টেক্কা ব্যবহার করতে পারবেন না ।
এরিক দি আউটগল্ফার

@ এরিকথ আউটগল্ফার এ এ
ডাইলানান


5

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

x⌽⍨⊃i-4×2-⌊1.8⊥⍋1i←⎕⍳⍨x←,⍉'CDHS'∘.,2↓⎕D,'TJQKA'

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

ওভারভিউ: 'CDHS'∘.,2↓⎕D,'TJQKA'বাহ্যিক পণ্য উত্পন্ন করে, তাই একটি 2 ডি ম্যাট্রিক্স (C2 C3 C4 ...), (D2 D3 D4 ...), ...। তারপরে আমরা এই ম্যাট্রিক্সটি স্থানান্তর করি (C2 D2 H2 ...), ...এবং তারপরে এটি সমতল করুন।

@Ngn এর জন্য ধন্যবাদ 2-⌊1.8⊥যা কার্ডগুলির ক্রম গ্রহণ করে (এসএমএল = 1 2 3) এবং সেগুলি গ্রেড করে ( ওপিতে 1 থেকে 6 এর মতো)।

কোড ব্যাখ্যা:

x⌽⍨⊃i-4×2-⌊1.8⊥⍋1i←⎕⍳⍨x←,⍉'CDHS'∘.,2↓⎕D,'TJQKA'
                                       D,'TJQKA'  Concatenate a list of numbers with TJQKA
                                     2            Drop 2 (removes "01")
                                  ∘.,              Generate the outer product of this prefixed with
                            'CDHS'                 The suits
                                                  Invert rows/columns
                          ,                        Flatten (matrix -> array)
                        x                         Store in x
                      ⍳⍨                           Inverted ⍳⍨: find the indices, in our cards,
                                                  of the argument cards
                   i                              Store these indices in i
                 1                                Remove the first index
                                                  Grade: get ordered indices
         2-⌊1.8                                   The magic happens here: get the number from 1 to 6
       4×                                          Multiply by 4 to get the same "back" on the card
    i-                                            Substract the result from our first index (which we had discarded)
x⌽⍨                                               (Modulated) Index into x (our cards) with this value

4

রেটিনা , 218 208 বাইট

[JQK]
1$&
T`AJQK`1123
*' G0`
\d+
5**
' G, 1,`
T`CD\HS`d
\d
*
/^(_+)¶\1/(/¶(_+)¶\1/(K`1
/^(_+)¶_+¶\1/(K`2
))K`4
/^(_+)¶_+¶\1/(K`3
/¶(_+)¶\1/(K`5
)))K`6
\d
$+3-$&
(\d+)-(\d+)
$1*_$2*
_{13}(_+)|(_{1,13})
$.($1$2

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

ব্যাখ্যা:

[JQK]
1$&
T`AJQK`1123

এস, জ্যাকস, কুইন্স এবং কিংসকে 1, 11, 12 এবং 13 দিয়ে প্রতিস্থাপন করুন। প্রথম দুটি লাইন 1চিঠির আগে একটি পূর্বে প্রস্তুত করে এবং শেষেরটি দ্বিতীয় অঙ্কটি প্রতিলিপি করে।

*' G0`

*ইঙ্গিত করে যে এই পর্যায়ে কাজ স্ট্রিং পরিবর্তন করা উচিত নয়। এটি মঞ্চটি অর্থহীন বলে মনে হতে পারে তবে এটি পরে কার্যকর হবে। 'প্রত্যেক স্থান এ কাজ স্ট্রিং splits, এবং G0প্রথম এক (তাই এটি প্রথম কার্ড খুঁজে বের করে) সময় লাগে।

\d+
5**
' G, 1,`'

প্রথম দুটি লাইন কার্ডগুলিতে সংখ্যাগুলি 5 দ্বারা গুণ করে, তারপরে তাদের আনারিতে পরিণত করবে (উদাহরণস্বরূপ, 5 টি _____ হিসাবে প্রতিনিধিত্ব করা হয়), যাতে আমরা পরে স্যুটগুলির জন্য আরও কম পরিমাণ যুক্ত করতে পারি। চূড়ান্ত লাইন স্পেসে বিভক্ত হয় এবং শেষ তিনটি কার্ড রাখে।

T`CD\HS`d
\d
*

এটি ক্লাব, হীরা, হৃদয় এবং স্পেডসকে যথাক্রমে 0, 1, 2 এবং 3 তে রূপান্তর করে এবং সংখ্যাটি অানারিতে পরিণত করে। যেহেতু এটি এখন কার্ডের নম্বর অংশের সাথে সংযুক্ত রয়েছে তাই এটি কার্ডটি কতটা উচ্চ তা নির্ধারণ করে একটি অনন্য মূল্য দেয়।

/^(_+)¶\1/(/¶(_+)¶\1/(K`1
/^(_+)¶_+¶\1/(K`2
))K`4
/^(_+)¶_+¶\1/(K`3
/¶(_+)¶\1/(K`5
)))K`6

এটি কার্ডগুলির ক্রম এবং প্রথম কার্ডে যুক্ত করার মান খুঁজে পায়। উদাহরণস্বরূপ, প্রথম লাইনে /^(_+)¶\1_+/(এমন অর্ডার মেলে যা মাঝারি মানের সাথে প্রথম মানের চেয়ে বড়। এটি কী করার জন্য একটি if-অন্য লুপ তৈরি করে (যেমন এই আদেশ ক্রম 1, 2 এবং 4 এর সাথে মেলে)। Kএকটি ধ্রুবক চিহ্নিত করে।

\d
$+3-$&

মনে রাখবেন আগে যখন আমরা *ইঙ্গিত করতাম যে কোনও স্টেজ কাজের স্ট্রিংকে প্রভাবিত করে না? এটিই আমরা এটি ব্যবহার করি। এই পর্যায়টি প্রতিস্থাপনের মঞ্চ; এটি যোগ করার জন্য নম্বরটি প্রতিস্থাপন করে $+3-$&। মঞ্চটি $+3অ্যাক্সেস করে *এবং প্রথম কার্ডের স্যুট এবং নম্বর পায়, -সেপারেটর হিসাবে কাজ করে এবং $&ম্যাচটি হয়। কাজ স্ট্রিং এখন হয়{suit}{original number}-{number to add}

(\d+)-(\d+)
$1*_$2*

এটি দুটি সংখ্যাকে অবিচ্ছিন্ন করে তোলে এবং তাদের একসাথে যুক্ত করে।

_{13}(_+)|(_{1,13})
$.($1$2

শীর্ষ লাইনটি সংখ্যা বা সংখ্যাটি ক্যাপচার করে - ১৩ (যাতে আমরা উদাহরণস্বরূপ S16 এর আউটপুট না পাই)। নীচের লাইনটি ধরা পড়া সংখ্যাটিকে বেস 10 এ ফিরিয়ে দেয় এবং ফলাফলটি ছাপিয়ে মুদ্রিত হয়।


সংশোধন করা হয়েছে! আমি একটি Regex বিপরীত যাতে এটি সংখ্যার 13 চেয়ে বড় অগ্রাধিকারের
lolad

3

কাঠকয়লা , 64 62 বাইট

≔⪪⭆⁺⭆⁸⁺²ιTJQKA⭆CDHS⁺λι²δ≔E⟦ηζε⟧⌕διυ§δ⁺⌕δθ×⁴⊕⁺∧⌕υ⌊υ⊗⊕¬⌕υ⌈υ‹⊟υ⊟υ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। T10 এবং Aউচ্চতর প্রকারের জন্য ব্যবহার করে । অনুক্রমের সূচক খুব সহজেই ডিকোড করা হয়নি; একটি পৃথক ক্রম ক্রম আদেশ আমাকে কমপক্ষে তিন বাইট সংরক্ষণ করতে পারত। ব্যাখ্যা:

⁺⭆⁸⁺²ιTJQKA

সমস্ত পূর্ণসংখ্যার 0 থেকে 7 পর্যন্ত 2 যোগ করুন, তারপরে তাদের সাথে সংযুক্ত করুন এবং TJQKAছবি কার্ড এবং টেক্কাটির জন্য প্রত্যয় । এটি একটি স্ট্রিং আক্ষরিকের তুলনায় 2 বাইট সংরক্ষণ করে, যদিও দেখা যাচ্ছে যে Aউচ্চতা থাকা সত্ত্বেও স্ট্রিং সংক্ষেপণের মাধ্যমে একটি বাইট সংরক্ষণ করতে পারে।

≔⪪⭆...⭆CDHS⁺λι²δ

কার্ডগুলি এবং স্যুটগুলির উপরে মানচিত্র তৈরি করুন, দুটোকে একসাথে তৈরি করে। যেহেতু এটি সাধারণত একটি নেস্টেড অ্যারে তৈরি করে, ফলাফলগুলি পরিবর্তে একটি একক স্ট্রিংয়ে সংমিশ্রিত হয় যা আবার অক্ষরের জোড়ায় বিভক্ত হয়।

≔E⟦ηζε⟧⌕διυ

দ্বিতীয়, তৃতীয় এবং চতুর্থ কার্ডের অবস্থানগুলি সন্ধান করুন।

⊕⁺∧⌕υ⌊υ⊗⊕¬⌕υ⌈υ‹⊟υ⊟υ

1-ইনডেক্সেড পারমিটেশন সূচক গণনা করুন। প্রথম দুটি আদেশের মধ্যে প্রথমে ক্ষুদ্রতম কার্ড রয়েছে; এই মাধ্যমে পরীক্ষা করা হয় ⌕υ⌊υ। অন্যান্য দুটি জোড়া ক্রমানুসারে বৃহত্তম কার্ডটি প্রথম কিনা তা পৃথক করে; এই মাধ্যমে পরীক্ষা করা হয় ⌕υ⌈υ। লজিক্যাল এবং গাণিতিক অপারেশন তারপর মান এই পরীক্ষার মানচিত্র 0, 2এবং 4; এরপরে 1তৃতীয় এবং চতুর্থ কার্ডগুলির মধ্যে তুলনার উপর নির্ভর করে বৃদ্ধি করা হয় , এর মাধ্যমে পরীক্ষিত ‹⊟υ⊟υ। অবশেষে পছন্দসই এনকোডিং দিতে সূচকটি বাড়ানো হয়।

§δ⁺⌕δθ×⁴...

চারটি একই স্যুট কার্ডের মধ্যে দূরত্ব পুনরায় প্রকাশ করে প্রথম কার্ডের অবস্থানের উপর এবং চক্রাকারে সূচক এবং ফলাফলটি মুদ্রণ করুন p





1

জাভাস্ক্রিপ্ট (নোড.জেএস) , 124 বাইট

s=>(k='23456789TJQKA')[p=t=>k.search(s[t][0])+32+s[t][1],u=p(0),(u[0]+u[1]-2*(p(1)<p(2))-2*(p(1)<p(3))-(p(2)<p(3)))%13]+u[2]

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

জাভাস্ক্রিপ্ট (নোড.জেএস) , 125 বাইট

s=>(k='23456789TJQKA')[p=s.map(t=>k.search(t[0])+32+t[1]),u=p[0],(u[0]+u[1]-2*(p[1]<p[2])-2*(p[1]<p[3])-(p[2]<p[3]))%13]+u[2]

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


1

টি-এসকিউএল, 211 বাইট

ইনপুট একটি টেবিল পরিবর্তনশীল। 10 টির জন্য টি ব্যবহার করে, এসেস কম

কার্ডের র‌্যাঙ্ক / স্যুট কেএইচ, 6 ডি, টিএসের ফর্ম্যাট

DECLARE @ TABLE(c char(2),i int identity(4,-1))
INSERT @
VALUES('2C'),('AH'),('QS'),('KC')

SELECT
substring(max(h+h),max(charindex(q,h)*w)+power(sum(r)*3,.5)-11,1)+max(right(c,w))
FROM(SELECT*,i%4*power(3,rank()over(order by w,charindex(q,h),c))r
FROM(SELECT*,i/4w,left(c,1)q,'A23456789TJQK'h FROM @)d)y

অনলাইনে অনাবৃত চেষ্টা করুন

কীভাবে এসএমএল (12-17) মান গণনা করা হয় তা লক্ষ্য করুন:

যৌক্তিকভাবে এস, এম, এল (1,2,3) একটি সংখ্যার মানতে রূপান্তরিত হয়

প্রথম কার্ডের মূল্য 27 * সিকোয়েন্স মান

দ্বিতীয় কার্ডটির মূল্য 9 * সিকোয়েন্স মান

তৃতীয় কার্ডটির মূল্য 3 * সিকোয়েন্স মান

3 দ্বারা গুণ করে, বর্গাকার মূলটি নীচে গোলাকৃতি একটি দুর্দান্ত ক্রমসংখ্যার সংখ্যা হয়ে যায়।

Order    27,9,3*order=r   sum(r)*3    floor sqrt
S M L -> 1*27+2*9+3*3  -> 162      -> 12
S L M -> 1*27+3*9+2*3  -> 180      -> 13
M S L -> 2*27+1*9+3*3  -> 216      -> 14 
M L S -> 2*27+3*9+1*3  -> 252      -> 15
L S M -> 3*27+1*9+2*3  -> 288      -> 16
L M S -> 3*27+2*9+1*3  -> 306      -> 17

1

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

2TŸ.•3u§•S«.•ôì•âíJuDIkćsD{œJsJk>4*+è

@ উদ্যানের জেলির উত্তর বন্দর , তবে দুর্ভাগ্যক্রমে 05 এবি 1 এর অনুক্রমের সূচকটি অন্তর্নির্মিত নেই ..

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

ব্যাখ্যা:

2TŸ                # Push the list [2,3,4,5,6,7,8,9,10]
   .•3u§•S         # Push compressed string "jqka", converted to a list of characters
          «        # Merge the lists together
.•ôì•              # Push compressed string "cdhs"
     â             # Create each possible pair
      í            # Reverse each pair
       Ju          # Join each pair together, and convert to uppercase
D                  # Duplicate the deck
 Ik                # Get the index of the cards of the input-list in the deck
   ć               # Extract head; pop and push remainder and head
    s              # Swap to get the remainder
     D{            # Create a sorted copy
       œ           # Get the permutations of that
        JsJk       # Get the index of the unsorted permutation in this permutations list
            >      # Increase it by 1 (since 05AB1E has 0-based indexing)
             4*    # Multiply it by 4
               +   # Add it to the extracted head
                è  # And index it into the duplicated deck
                   # (after which the result is output implicitly)

আমার এই 05AB1E ডগা দেখুন (অধ্যায় কম্প্রেস স্ট্রিং অভিধান অংশ নয় কিভাবে? ) কেন বুঝতে .•3u§•হয় "jqka"এবং .•ôì•হয় "cdhs"

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