পটভূমি
হেক্সK×K হেক্সাগোনাল টাইলসের একটি গম্বুজ খেলানো একটি দুই খেলোয়াড় বিমূর্ত কৌশল খেলা । রম্বসের দুটি বিপরীত দিক সাদা বর্ণের, অন্য দুটি কালো এবং কালো এবং সাদা দুটি খেলোয়াড় অনিয়ন্ত্রিত টালিগুলিতে তাদের রঙের একটি টোকেন রাখে turns যে খেলোয়াড় প্রথমে তাদের রঙের বিপরীত দিকগুলির মধ্যে একটি পথ তৈরির পরিচালনা করে সে বিজয়ী। এটি পরিচিত যে গেমটি ড্রয়ের মধ্যে শেষ হতে পারে না, এবং বোর্ডের আকার নির্বিশেষে প্রথম খেলোয়াড়ের একটি বিজয়ী কৌশল রয়েছে (বিশদগুলির জন্য উইকিপিডিয়া পৃষ্ঠা দেখুন)।
কাজটি
এই চ্যালেঞ্জের মধ্যে আমরা বোর্ডের আকারটি ঠিক করি K = 4এবং নিম্নলিখিত গ্রিড হিসাবে বোর্ডকে উপস্থাপন করি। ঘন রেখাগুলি সংলগ্ন টাইলগুলি বোঝায়।

আপনার কাজটি হ'ল প্রথম খেলোয়াড়ের জন্য একটি বিজয়ী কৌশল তৈরি করা, যা আপনি কালো বা সাদা হতে বেছে নিতে পারেন। এর অর্থ হ'ল বিরোধী খেলোয়াড় যে কোনও আইনী পদক্ষেপ নেয়, আপনার খেলার ফলাফল অবশ্যই একটি বিজয় হতে পারে। আপনার ইনপুটটি একটি গেমের অবস্থান (বোর্ডে টোকেনের ব্যবস্থা) এবং আপনার আউটপুটটি নীচে নির্দিষ্ট করা ফর্ম্যাটে একটি আইনি পদক্ষেপ। আপনি যদি কোনও বিজয়ী কৌশল নিজেই সন্ধান করতে চান তবে এই স্পেলারটি পড়বেন না:
হোয়াইটকে প্রথমে ধরে নিয়েই সম্ভাব্য একটি বিজয়ী কৌশলটির রূপরেখা। প্রথমে ৫ টি নির্বাচন করুন After এর পরে, যদি আপনার 5 থেকে নীচের সারি পর্যন্ত কোনও পথ থাকে বা কালো যে কোনও বিন্দুতে 0 বা 1 নির্বাচন করে, 0 বা 1 এর যে কোনওটি শূন্য রয়েছে তা নির্বাচন করে সাড়া দিন। যদি কালো 9 বা 13 নির্বাচন করে, 10 নির্বাচন করুন এবং তারপরে 14 বা 15 এর মধ্যে যা শূন্য রয়েছে। যদি কালো 9, 13 বা 14 নির্বাচন করে না, তবে 13 বা 14 এর যে কোনওটি শূন্য রয়েছে 9 এবং পরবর্তী নির্বাচন করুন select যদি কালো 14 নির্বাচন করে, 15 টি নির্বাচন করে প্রতিক্রিয়া জানান Next পরবর্তী, খালি থাকলে 10 নির্বাচন করুন; যদি কালো 10 নির্বাচন করে, 11 দিয়ে প্রতিক্রিয়া দিন black যদি কালো 6 টি নির্বাচন করে না, এটি নির্বাচন করুন, সুতরাং আপনার 5 থেকে নীচের সারি পর্যন্ত একটি পথ রয়েছে।
ইনপুট এবং আউটপুট
আপনার ইনপুটটি ১ characters টি অক্ষরের একটি স্ট্রিং WBE, যা সাদা, কালো এবং খালি। তারা উপরে উল্লিখিত হিসাবে বোর্ডের টাইলগুলি উপস্থাপন করে। আপনি নিম্নলিখিত থেকে ইনপুট পদ্ধতিটি (যা আপনার আউটপুট পদ্ধতিটিও নির্ধারণ করে) চয়ন করতে পারেন:
- STDIN থেকে ইনপুট, STDOUT এ আউটপুট।
- এক কমান্ড লাইন আর্গুমেন্ট হিসাবে ইনপুট, STDOUT এ আউটপুট।
- 16 একক-অক্ষর কমান্ড লাইন আর্গুমেন্ট হিসাবে ইনপুট, STDOUT এ আউটপুট।
- নামযুক্ত ফাংশনের আর্গুমেন্ট হিসাবে ইনপুট, রিটার্ন মান হিসাবে আউটপুট।
আপনার আউটপুটটি এমন টাইলকে উপস্থাপন করে যেখানে আপনি নিজের পরবর্তী টোকেন রাখেন, কেননা আপনার স্থানান্তরের পালা। আপনি নিম্নলিখিত আউটপুট ফর্ম্যাট থেকে চয়ন করতে পারেন:
- একটি শূন্য-ভিত্তিক সূচক (উপরের ছবিতে ব্যবহৃত হিসাবে)।
- একটি ভিত্তিক সূচক।
- আপনি
Eযে কোনওWবাBআপনার প্লেয়ারের জন্য চয়ন করেছেন তার দ্বারা প্রতিস্থাপিত ইনপুট স্ট্রিং ।
বিধি
আপনার কৌশলটি অবশ্যই সংজ্ঞাবহ হতে হবে। আপনার কৌশলটি খালি বোর্ড থেকে অ্যাক্সেসযোগ্য গেমের অবস্থানগুলি বা ইতিমধ্যে যে কোনও প্লেয়ারের জন্য জিতেছে এমন অবস্থানগুলি সঠিকভাবে পরিচালনা করার দরকার নেই এবং আপনি সেগুলি ক্র্যাশ করতে পারেন। বিপরীতে, যে কৌশলগুলি আপনার কৌশল ব্যবহার করে পৌঁছানো যায়, তাদের অবশ্যই একটি আইনী পদক্ষেপ ফিরিয়ে আনতে হবে।
এটি কোড-গল্ফ, তাই সর্বনিম্ন বাইট গণনা জিতে। স্ট্যান্ডার্ড লুফোলগুলি অনুমোদিত নয়।
পরীক্ষামূলক
এন্ট্রিগুলি যাচাই করার জন্য আমি পাইথন 3 নিয়ামক লিখেছি, যেহেতু এটি হাতে হাতে করা অত্যন্ত ক্লান্তিকর হবে। আপনি এটি এখানে খুঁজে পেতে পারেন । এটি প্রথম তিনটি ইনপুট ফর্ম্যাট এবং পাইথন 3 ফাংশন (অন্যান্য ভাষায় ফাংশনগুলিকে প্রোগ্রামগুলিতে আবৃত করতে হবে), তিনটি আউটপুট ফর্ম্যাট এবং উভয় খেলোয়াড়কে সমর্থন করে। যদি কোনও কৌশল জিততে না পারে, তবে এটি একটি হারিয়ে যাওয়া গেমটি আউটপুট দেবে, যাতে আপনি আপনার প্রোগ্রামটি টুইঙ্ক করতে পারেন।
Incorrect response 'WWWWWWWWBBBBBBBB' to message 'WWWWWWWWBBBBBBBB'.আমার অনেক আগেই জিতে যাওয়া উচিত ছিল, না আমি ভুল করছি?