এটি কি বৈধ টিচু নাটক?


11

টিচু একটি কার্ড গেম যেখানে খেলোয়াড়গণ একটি স্ট্যান্ডার্ড 52-কার্ড ডেক এবং আরও 4 টি অতিরিক্ত কার্ড সমন্বিত একটি ডেক থেকে কার্ডের সেট খেলেন:

  • ড্রাগন , যা অন্য কোন কার্ড চেয়ে মান আছে
  • ফিনিক্স , যা একটি ওয়াইল্ডকার্ড হিসাবে কাজ করতে পারেন
  • কুকুর , যা আপনার অংশীদার পালা পাসের
  • মাঃ জং , যা মান 1 আছে (এবং ব্যক্তির অধিষ্ঠিত এটি প্রথম নাটকগুলি)

প্রথম খেলোয়াড় (যাকে "সীসা" বলা হয়) নিম্নলিখিত ধরণের কার্ড সংমিশ্রণের মধ্যে একটি খেলতে বেছে নিতে পারেন:

  • একটি একক (যেমন 6)
  • একটি জোড়া ( JJ)
  • একটি ট্রিপল ( 555)
  • একটি পূর্ণ ঘর ( QQQ33) - একটি ট্রিপল এবং একটি জোড়া
  • একটি সোজা ( 56789) - 5 বা তার বেশি টানা কার্ড
  • একটি ট্র্যাক্টর ( 223344) - জোড়গুলির কোনও ধারাবাহিক ক্রম

এরপরে থাকা খেলোয়াড়দের কেবল একই ধরণের কার্ডের সেট খেলতে দেওয়া হয় তবে তা আরও কঠোর। উদাহরণস্বরূপ, QQশীর্ষে বাজানো যায় JJতবে QQKKতা (এটি ট্র্যাক্টর নয়, জোড়া নয়)। সম্পূর্ণ ঘরগুলি ট্রিপল দ্বারা অর্ডার করা হয় (উদাঃ 77722> 44499), এবং স্ট্রেইট এবং ট্র্যাক্টরগুলি একই দৈর্ঘ্য হতে হবে ( 456789উপরে খেলতে পারে না 23456)। টেক্কা বেশি।

একটি ব্যতিক্রম রয়েছে: একই কার্ডের যে কোনও 4 টি বোমা , এবং উচ্চতর বোমা ব্যতীত যে কোনও কিছুর উপরে বাজানো যায়। 1

ড্রাগনটি নিজেই কোনও একক উপরে বা সীসা দিয়ে খেলতে পারে (তবে অন্য কোথাও নেই)। ফিনিক্স, একটি ওয়াইল্ডকার্ড বাদে, ড্রাগন ব্যতীত অন্য কোনও একেরও উপরে বাজানো যায়। 2 কুকুরটি কেবল নিজেরাই সীসা দিয়ে খেলতে পারে এবং তত্ক্ষণাত পালা শেষ করে। 3


আপনার চ্যালেঞ্জটি পূর্বের নাটকটি প্রদত্ত প্রদত্ত টিচু নাটকটি বৈধ কিনা তা নির্ধারণ করা।

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

আপনার আউটপুটটি অবশ্যই দুটি স্বতন্ত্র মানের একটি সেট থেকে নির্বাচন করা উচিত, যার মধ্যে একটি নির্দেশ করে যে নাটকটি বৈধ এবং একটিটি যা এটি নয় তা নির্দেশ করে।

ডেকের মধ্যে কার্ডের সেটটি আসলে বিদ্যমান কিনা তা পরীক্ষা করার দরকার নেই (উদাহরণস্বরূপ 77766অনুসরণ করা 88877অসম্ভব কারণ কেবল চারটি 7 টি রয়েছে) - এই জাতীয় মামলাগুলি কখনই দেওয়া হবে না।

নিম্নলিখিত পরীক্ষার ক্ষেত্রে, 234567890JQKAটেক্কা দিয়ে 2 টি RPD1উপস্থাপন করুন এবং যথাক্রমে ড্রাগন, ফিনিক্স, কুকুর এবং মাহ জং উপস্থাপন করুন। খালি স্ট্রিং এখানে হিসাবে প্রদর্শিত হয় -। এই নাটকগুলি আইনী:

6 J
JJ QQ
555 KKK
44499 77722
23456 56789
223344 QQKKAA
49494 72727
A R
A P
P R
66 7P
P6 77
58304967 6P0594J7
5P304967 680594J7
57446765 788657P5
- D
- 1
- 12345
3344556677889900 JJJJ
5555 7777

এবং এগুলি নয়:

9 3
66 55
888 444
44 888
77722 44499
44499 777
44499 777JJJ
45678 34567
34567 456789
556677 334455
5566 778899
72727 49494
A A
R A
R P
77 RP
77 6P
P7 66
680594J7 5P304967
6P0594J7 58304967
57446765 3645P536
1 D
2 D
2 1
- 1234
7777 5555
- 223355

1: প্রকৃতপক্ষে, একটি সরাসরি ফ্লাশও বোমা, তবে যেহেতু এই গেমের মধ্যে একমাত্র জায়গা যা কার্ডগুলির স্যুটটি গুরুত্বপূর্ণ, তাই আমি সরলতার জন্য এটি ছেড়ে যেতে বেছে নিয়েছি

2: একটি কার্ডের উপরে যেটি ফিনিক্সের সাথে এন এন মান হয় তার মানটি আসলে n + 0.5 হয় (9 এর একটি ফিনিক্স একটি সাড়ে 9); যেহেতু এটিকে বিচারের জন্য অতিরিক্ত ইতিহাসের জ্ঞান প্রয়োজন, তাই কোনও পরীক্ষার ক্ষেত্রে কোনও একটি ফিনিক্সের উপরে একটি খেলানো জড়িত না

3: সুতরাং প্রথম ইনপুট কখনই কুকুর হতে পারে না


না @Arnauld সকল বৈধ সমন্বয় (যেমন 777JJJ, 1234, 223355)। তবে RPএটি বৈধ নয়: " ড্রাগনটি নিজেই যে কোনও একার উপরে বা সীসা দিয়ে খেলতে পারে (তবে অন্য কোথাও নেই) "
ডুরকনব

প্রকৃতপক্ষে, আমি আমার মন্তব্যটি সম্পাদন করতে যাচ্ছিলাম যে প্রথম হাতগুলি সর্বদা বৈধ বলে মনে হচ্ছে।
আর্নল্ড

1
@ আরনাউল্ড আহ - হ্যাঁ, আপনি ধরে নিতে পারেন প্রথম হাতগুলি বৈধ are
ডোরকনবব

এটি উল্লেখযোগ্য যে একটি ফেনিক্স বোমা একটি ওয়াইল্ডকার্ড হিসাবে ব্যবহার করা যেতে পারে না। 5555 777Pএকটি অবৈধ প্লে হওয়া উচিত, তবে উভয় বর্তমান উত্তর এটিকে বৈধ হিসাবে চিহ্নিত করে।
Jitse

উত্তর:


5

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

(a)(b)একটি

  • 1
  • 3
  • 4..16
  • 18
  • 19

বৈধের জন্য মিথ্যা বা অবৈধের জন্য সত্য প্রত্যাবর্তন করে।

a=>b=>!(L='length',[A,B]=(g=a=>(h=n=>--n?[i=1,2,3,'(20*)3|30*2','1{5,}','22+',4].some(p=>m=o.join``.match(`9(0*)(${p})0*$`,i++),a.map(x=>o[x-19?x:x=n]=-~o[x],o=[...9e16+'']))?[i,m[1][L]+(m[3]||[])[L]]:h(n):[])(18))(a),[C,D]=g(b),a+a?A-C?C>7|+b>a:a[L]==b[L]&D>B|A<3&b==18:C)

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

কিভাবে?

o[]9

//       D  -  1  2  3  4  5  6  7  8  9  T  J  Q  K  A
o = [ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];

হাতে প্রতিটি কার্ডের র‌্যাঙ্কের জন্য, সংশ্লিষ্ট স্লট ইন o[]বর্ধিত হয়। একবার স্ট্রিংয়ে ফিরে আসার পরে, আমরা প্রতিটি ধরণের হাত সনাক্ত করতে নিম্নলিখিত নিয়মিত এক্সপ্রেশনগুলি প্রয়োগ করতে পারি:

 hand        | pattern     | full regex              | example
-------------+-------------+-------------------------+-------------------
 single      | 1           | /9(0*)(1)0*$/           | 90000100000000000
 pair        | 2           | /9(0*)(2)0*$/           | 90000002000000000
 3-of-a-kind | 3           | /9(0*)(3)0*$/           | 90003000000000000
 full house  | (20*)3|30*2 | /9(0*)((20*)3|30*2)0*$/ | 90020000030000000
 straight 5+ | 1{5,}       | /9(0*)(1{5,})0*$/       | 90000111110000000
 tractor     | 22+         | /9(0*)(22+)0*$/         | 90000000000022200
 bomb        | 4           | /9(0*)(4)0*$/           | 90000000000000004

যদি হাত এই নিয়মিত এক্সপ্রেশনগুলির কোনওটি ট্রিগার না করে তবে এটি অবৈধ।

9(20*)

ফিনিক্স (অর্থাত্ ওয়াইল্ডকার্ড) প্রতিটি ম্যাচ সনাক্ত না হওয়া অবধি সর্বোচ্চ প্রতিটি দিয়ে শুরু করে প্রতিটি সম্ভাব্য কার্ড র‌্যাঙ্কের সাথে প্রতিস্থাপন করা হয়।


0

পাইথন 3 , 466 455 403 401 399 বাইট

R=lambda H,n=3:n==len(H)*(len({*H})<2)and[15]!=H[1:]
s=lambda H:[H[2:],H[:1]][R(H[:3])]
def n(J,K):j,k=[[16in H,R(H,4),len(H)>4and all(15!=t>T-2for t,T in zip(H,H[1:])),[R(H[2:])*R(H[:2],2),R(H[3:],2)][R(H[:3])],R(H),R(H,2),R(H,1),1].index(1)for H in[J,K]];return k!=7and[17]==J or[j==k*[J<K,s(J)<s(K)][2<j<5],J<K][k==1]
f=lambda P:any(n(*[sorted([L,i][i>0]for i in H)for H in P])for L in range(16))

এটি অনলাইন চেষ্টা করুন! ইনপুট হ্যান্ডগুলির তালিকা যেখানে হাতটি নীচের মান মানচিত্রের সাথে পূর্ণসংখ্যার 1 তালিকা করে :

  • 0: ফিনিক্স
  • 1: মাহ জং
  • 2-13: 2 টু এস
  • 14: ড্রাগন
  • 15: কুকুর
  • 16: খালি স্ট্রিং

1: লিঙ্কযুক্ত টিআইও পরীক্ষাগুলিতে সুবিধার কারণে স্ট্রিংগুলির তালিকা প্রকাশ করা হয় যা কল করার আগে মান মানচিত্র অনুযায়ী অনুবাদ করা হয় f

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