আড্ডায় আলোচনার মাধ্যমে @ মার্টিনব্যাটনারকে আইডিয়া ধন্যবাদ
মাহজং একটি টাইল গেম যা এশিয়াতে প্রচুর জনপ্রিয়। এটি সাধারণত চারজন খেলোয়াড়ের সাথে খেলে যায় এবং গেমের লক্ষ্যটি হ'ল প্রথম ব্যক্তি যিনি টাইলস ব্যবহার করে বৈধ হাত শেষ করেন। এই চ্যালেঞ্জের জন্য, আমরা গেমটির সরলীকৃত সংস্করণ - পিপিসিজি মাহজং বিবেচনা করব।
- PPCG Mahjong, সেখানে তিন মামলা হয় m
, p
এবং s
- এবং টাইলস থেকে সংখ্যা নির্ধারণ করা হয় 1
থেকে 9
। সেখানে ঠিক প্রতিটি টালি চার কপি, এবং টাইলস তার সংখ্যাকে মামলা দ্বারা অনুসরণ (যেমন দ্বারা প্রকাশ করা হয় 3m
, 9s
)।
একটি সম্পূর্ণ পিপিসিজি মাহজং হাতে মোট ১৪ টি টাইলের জন্য তিনটি এবং একটি জোড়া চার সেট থাকে।
তিনজনের একটি সেট হতে পারে:
- একই টাইলের তিনটি (যেমন
4s 4s 4s
, তবে নয়4m 4p 4s
), বা - একই স্যুট পরপর তিন টাইলস একটি ক্রম (যেমন
1s 2s 3s
অথবা6p 7p 8p
কিন্তু3s 4m 5m
বা3p 5p 7p
)। সিকোয়েন্সগুলি মোড়ানো হয় না (তাই9m 1m 2m
অবৈধ)।
একটি জুড়ি কেবল দুটি অভিন্ন টাইল (যেমন 5s 5s
)।
চ্যালেঞ্জ
আপনার প্রোগ্রামটি 13 টাইলের ব্যবধানে পৃথক হাত পাবে, প্রতিটি টাইল চারবারের বেশি উপস্থিত হবে না। আপনি হয় পুরো প্রোগ্রাম বা একটি ফাংশন যা একটি স্ট্রিং লাগে লিখতে পারেন।
আপনার কাজটি হ'ল সমস্ত সম্ভাব্য 14 টি টাইলস ("অপেক্ষা") সন্ধান করা যা হাতে যুক্ত হলে একটি সম্পূর্ণ পিপিসিজি মাহজং হাত তৈরি করে। আউটপুটযুক্ত টাইলগুলি স্থান পৃথক হওয়া উচিত, তবে এটি কোনও ক্রম হতে পারে। শীর্ষস্থানীয় বা পূর্ববর্তী সাদা স্থান অনুমোদিত।
আপনার প্রোগ্রামটি একটি যুক্তিসঙ্গত সময়ে চলতে হবে, এক মিনিটের বেশি নয়।
উদাহরণ
Input: 1m 1m 1m 4s 4s 4s 7p 7p 7p 3m 3m 3m 9s
Output: 9s
Input: 1m 1m 1m 3m 3m 3m 5m 5m 5m 2s 3s 7p 8p
Output:
Input: 1m 2m 2m 3m 3m 3m 3m 4m 1s 1s 9s 9s 9s
Output: 1s
Input: 1m 1m 1m 2m 3m 4m 5m 6m 7m 8m 9m 9m 9m
Output: 1m 2m 3m 4m 5m 6m 7m 8m 9m
Input: 1m 1m 1m 5p 2m 3m 5p 7s 8s 5p 9s 9s 9s
Output: 1m 4m 6s 9s
প্রথম উদাহরণে, 1m 4s 7p 3m
সমস্তগুলি বিদ্যমান ট্রিপলগুলি গঠন করে, একা তৈরি 9s
করার জন্য একাকী রেখে ।
দ্বিতীয় উদাহরণে, 2s 3s
এবং 7p 8p
কেবল সিকোয়েন্সগুলি তৈরি করতে পারে এবং বাকী টাইলগুলি কেবল ট্রিপল্ট গঠন করতে পারে। অতএব কোনও জোড় গঠন করা যায় না, এবং কোনও আউটপুটও হয় না।
তৃতীয় উদাহরণে, হাতটি বিভক্ত হয় 1m2m3m 2m3m4m 3m3m 1s1s 9s9s9s
। সাধারণত এটির জন্য অপেক্ষা করা হবে 3m 1s
, তবে চারটি 3m
ব্যবহার করা হয়েছে, কেবলমাত্র অপেক্ষারত অবলম্বন 1s
।
চতুর্থ উদাহরণে, সমস্ত m
টাইলস হাতটি সম্পূর্ণ করে। উদাহরণস্বরূপ, উদাহরণস্বরূপ, 1m
একজনের কাছে 1m1m1m 1m2m3m 4m5m6m 7m8m9m 9m9m
এটি সম্পূর্ণ হাত হতে পারে ।
বাকি চতুর্থ উদাহরণ এবং পঞ্চম উদাহরণটি চেষ্টা করার চেষ্টা করুন :)
স্কোরিং
এটি কোড-গল্ফ , সুতরাং কয়েকটি বাইটে সমাধান জিততে পারে। স্ট্যান্ডার্ড লুফোলস প্রযোজ্য।