দ্রষ্টব্য: এটি গেমের রুম্মিকুব-এর পরিবর্তনের সাথে সম্পর্কিত
পটভূমি এবং বিধিগুলি
Rummikub একটি টাইল ভিত্তিক খেলা is চারটি রঙ রয়েছে: লাল, কমলা, নীল এবং কালো। প্রতিটি রঙের জন্য 13 টি টাইল রয়েছে (1 থেকে 13 পর্যন্ত লেবেলযুক্ত) এবং সেখানে 2 জন জোকার রয়েছে যা রঙ-স্বতন্ত্র, সুতরাং এখানে মোট 54 টি টুকরা রয়েছে। রুম্মিকুবের এই প্রকরণে, প্রতিটি খেলোয়াড় 14 টি টাইল পেয়ে থাকে এবং আরও একটি টাইল পেতে হবে এবং প্রতিটি রাউন্ডে অন্য একটি ড্রপ করতে হবে, যেমন টাইলের গণনা স্থির থাকে। খেলোয়াড়রা একে অপরের টাইলস দেখতে পায় না। লক্ষ্যটি হ'ল টাইলগুলি গ্রুপ করা, যেমন সমস্ত টুকরো অন্তত একটি গ্রুপের অন্তর্ভুক্ত (নীচে দেখুন)। যখন কোনও খেলোয়াড়ের সমস্ত টুকরা গোষ্ঠীভূত হয়, তারা তাদের টাইল বোর্ডটি ফেলে দেয় এবং তাদের টুকরোগুলি প্রকাশ করে। অন্যরা তখন যাবতীয় সংযুক্তিগুলি বৈধ কিনা তা পরীক্ষা করে দেখুন এবং যদি তা হয় তবে প্লেয়ারটি রাউন্ডটি জিততে পারে।
টাইলগুলি কীভাবে গ্রুপ করা যায়?
দুটি ধরণের গ্রুপ রয়েছে:
বহু রঙের গ্রুপ:
- এগুলিতে 3 বা 4 টাইল থাকে।
- তারা কেবল তাদের উপর একই সংখ্যা সহ টাইলস ধারণ করে।
- সমস্ত টাইলস বিভিন্ন রঙের।
- উদাহরণ:
RED 9, BLUE 9, BLACK 9
।
মনো-রঙের গ্রুপগুলি:
- এগুলিতে কমপক্ষে 3 টি টাইল থাকে।
- এগুলিতে 13 টির বেশি টাইল থাকতে পারে না।
- এগুলিতে কেবল আরোহী ক্রমে বিভিন্ন, টানা সংখ্যার টাইল থাকে।
- সমস্ত টাইল একই রঙ আছে।
- টাইলস লেবেলযুক্ত টাইলস লেবেলযুক্ত টাইলগুলির পরে জায়গা
1
নাও থাকতে পারে13
। - উদাহরণ:
RED 5, RED 6, RED 7
।
অপেক্ষা করুন, জোকাররা কী করে?
জোকাররা গেমের যেকোন অংশকে প্রতিস্থাপন করতে পারে। উদাহরণস্বরূপ, আমাদের প্রথম উদাহরণটি হয়ে উঠতে পারে JOKER, BLUE 9, BLACK 9
, RED 9, JOKER, BLACK 9
বা RED 9, BLUE 9, JOKER
। আমাদের অন্যান্য উদাহরণেও এটি একই প্রযোজ্য। তবে, কেউ একই গ্রুপে দু'জন জোকার স্থাপন করতে পারে না , সুতরাং এই জাতীয় জিনিস JOKER, ORANGE 8, JOKER
নিষিদ্ধ।
কার্য
রুম্মিকুব টাইল গ্রুপ দেওয়া, এটি বৈধ কিনা তা নির্ধারণ করুন। আপনি গ্যারান্টিযুক্ত যে 2 জন জোকার এবং আপনি যে টাইলগুলি ইনপুট হিসাবে পাবেন তা ব্যতীত কোনও নকল টাইলস উপস্থিত 60
হবে না (যেমন। পছন্দ মতো জিনিস প্রদর্শিত হবে না)।
ইনপুট আউটপুট
আপনি ইনপুট নিতে পারেন এবং কোনও মানক পদ্ধতি দ্বারা আউটপুট সরবরাহ করতে পারেন।
কিছু বৈধ ইনপুট ফর্ম্যাট: স্ট্রিংগুলির তালিকা, টিপলগুলির তালিকা, নেস্টেড তালিকাগুলি, স্ট্রিংগুলি বা অন্য যে কোনও কিছুকে আপনার উপযুক্ত মনে হয়। রঙগুলি স্ট্রিং (যেমন "Blue","Red", etc.
:) হিসাবে স্ট্রিং সংক্ষেপণ হিসাবে গ্রহণ করা যেতে পারে (দয়া করে নীল এবং কালো টাইলগুলি পৃথকযোগ্য করুন), বা কোনও রঙের সাথে পূর্ণসংখ্যার হিসাবে পূর্ণসংখ্যার হিসাবে নেওয়া যেতে পারে। যখন জোকারদের কথা আসে, আপনার প্রোগ্রামটি কীভাবে ইনপুট হিসাবে তাদের গ্রহণ করবে তা উল্লেখ করা উচিত। আপনি যদি স্ট্রিংগুলি চয়ন করেন RED 9, JOKER, ...
তবে আপনার মতো কিছু থাকতে পারে, আপনি যদি টিপলগুলি চয়ন করেন তবে আপনার কাছে (9,"RED"), ("JOKER")
কিছু সমতুল্য থাকতে পারে। যদি এটি সহায়তা করে তবে আপনি সেই জোকারের জন্য রঙ পেতে পারেন (যা আপনার প্রোগ্রামের আউটপুটকে প্রভাবিত করবে না)। উদাহরণস্বরূপ, আপনার থাকতে পারে ("JOKER","RED")
বা ("JOKER","BLUE")
, তবে এটি কোনওভাবেই আউটপুটকে প্রভাবিত করে না।
আউটপুট সম্পর্কিত, কোনও সিদ্ধান্ত-সমস্যার জন্য মানক বিধি প্রযোজ্য।
কাজের উদাহরণ
আসুন একটি উদাহরণ নিই, আশা করি এটি বুঝতে সহজতর হবে। নিম্নলিখিত হিসাবে একটি গ্রুপ দেওয়া, যেখানে প্রতিটি tuple একটি টাইল প্রতিনিধিত্ব করে:
[(9, "লাল"), (9, "কমলা"), ("জোকার"), (9, "কালো")]
এটি সত্যবাদী মানটি ফিরিয়ে আনবে, কারণ ইনপুটটি বৈধ। এই ক্ষেত্রে, জোকার প্রতিস্থাপিত হয় (9, "BLUE")
এবং তারা একটি বহু রঙের গ্রুপ গঠন করে।
আপনি নিম্নলিখিত গ্রুপ দেওয়া হবে:
[(9, "ব্লু"), (9, "কমলা"), (9, "লাল"), (9, "কালো"), ("জোকার")]
এটি অবৈধ হবে, এবং এইভাবে আপনার প্রোগ্রামটির একটি মিথ্যা মান ফিরে পাওয়া উচিত, কারণ জোকারের বিকল্পের জন্য কিছুই নেই, কারণ বহু-বর্ণের গ্রুপে কার্ডের সর্বাধিক সংখ্যা 4।
অতিরিক্ত পরীক্ষার কেস
এগুলি একটি বর্ধিত পরীক্ষার স্যুটের জন্য যা প্রায় সমস্ত সম্ভাব্য অবস্থাকে কভার করে:
ইনপুট -> আউটপুট [(1, "ব্লু"), (2, "ব্লু"), (3, "ব্লু"), (4, "ব্লু"), (5, "ব্লু"), (6, "ব্লু")] - > সত্যবাদী [(6, "ব্লু"), (6, "লাল"), (6, "কালো)] -> সত্য [(5, "black"), (6, "black"), (7, "black"), (8, "black"), (9, "black"), (10, "black"), ( "জোকার"), (12, "কালো")] -> সত্য [("জোকার"), (3, "ব্লু"), (3, "লাল")] -> সত্য [(8, "কালো"), (2, "লাল"), (13, "ব্লু")] -> মিথ্যা [(4, "লাল"), (3, "লাল"), (5, "লাল")] - মিথ্যা [(5, "কালো"), (6, "কালো)] -> মিথ্যা [("জোকার"), (5, "লাল"), ("জোকার")] -> মিথ্যা [(4, "লাল"), (5, "লাল"), (6, নীল ")] - মিথ্যা [(4, "লাল"), ("জোকার"), (5, "লাল")] -> মিথ্যা [(12, "কালো"), (13, "কালো), (1," কালো ")] -> মিথ্যা
এটি কোড-গল্ফ , তাই প্রতিটি ভাষার বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী!