পটভূমি
অ্যালিস এবং বব একটি বাইনারি শব্দের কনস্ট্রাক্ট নামে একটি খেলা খেলেন । গেমটি খেলতে, আপনি একটি দৈর্ঘ্য ঠিক n >= 0
, একটি সেট G
length- এর n
বাইনারি নামক শব্দ লক্ষ্য সেট , এবং একটি length- n
স্ট্রিং t
অক্ষর ধারণকারী A
এবং B
বলা পালা অর্ডার । খেলার জন্য স্থায়ী হয় n
পালাক্রমে, এবং পালা উপর i
, প্লেয়ার দ্বারা সংজ্ঞায়িত t[i]
একটি বিট নির্বাচন w[i]
। গেমটি শেষ হয়ে গেলে, খেলোয়াড়রা w
তাদের তৈরি বাইনারি শব্দটির দিকে নজর দেয়। এই শব্দটি যদি গোল সেটে পাওয়া যায় G
, তবে অ্যালিস গেমটি জিতবে; অন্যথায়, বব জয়ী।
উদাহরণস্বরূপ, ফিক্স দিন n = 4
, G = [0001,1011,0010]
এবং t = AABA
। অ্যালিস প্রথম পালা পায় এবং সে চয়ন করে w[0] = 0
। দ্বিতীয় পালাটিও এলিসের এবং তিনি বেছে নেন w[1] = 0
। বব তৃতীয় বার আছে, এবং তিনি চয়ন w[2] = 0
। চূড়ান্ত মোড় এ, এলিস চয়ন w[3] = 1
। ফলস্বরূপ শব্দটি 0001
পাওয়া যায় G
, সুতরাং অ্যালিস গেমটি জিততে পারে।
এখন, বব যদি চয়ন করতেন তবে w[2] = 1
অ্যালিস w[3] = 0
তার চূড়ান্ত পর্বে বেছে নিতে পারত এবং এখনও জিততে পারত । এর অর্থ হল যে বব যেভাবে খেলুক না কেন অ্যালিস গেমটি জিততে পারে। এই পরিস্থিতিতে, এলিসের একটি বিজয়ী কৌশল রয়েছে । এই কৌশলটি একটি লেবেলযুক্ত বাইনারি গাছ হিসাবে ভিজ্যুয়ালাইজ করা যেতে পারে, যা ববসের পালা অনুসারে স্তরে শাখা করে এবং যার প্রতিটি শাখায় একটি শব্দ রয়েছে G
:
A A B A
-0-0-0-1
\
1-0
অ্যালিস কেবল তার ঘুরে শাখা অনুসরণ করে খেলে; বব কোন শাখা চয়ন করে তা বিবেচনা করে না, শেষ পর্যন্ত অ্যালিস জিততে পারে।
ইনপুট
আপনাকে ইনপুট হিসাবে দৈর্ঘ্য হিসাবে দেওয়া হবে এবং দৈর্ঘ্যের স্ট্রিংগুলির একটি (সম্ভবত খালি) তালিকা হিসাবে n
সেট দেওয়া হবে ।G
n
আউটপুট
আপনার আউটপুট হ'ল টার্ন অর্ডারগুলির তালিকা যার জন্য অ্যালিসের একটি বিজয়ী কৌশল রয়েছে যা উপরে বর্ণিত হিসাবে বাইনারি গাছের অস্তিত্বের সমান। টার্ন অর্ডারগুলির ক্রম কোনও ব্যাপার না তবে ডুপ্লিকেটগুলি নিষিদ্ধ।
বিস্তারিত বিধি
আপনি একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন। কোনও প্রোগ্রামের ক্ষেত্রে, আপনি ইনপুট এবং আউটপুটটির জন্য ডিলিমিটারটি চয়ন করতে পারেন, তবে এটি উভয়ের ক্ষেত্রেই একই হতে হবে। সংক্ষিপ্ততম বাইট গণনা জয় এবং মানক লুফোলগুলি অনুমোদিত নয়।
পরীক্ষার কেস
3 [] -> []
3 [000,001,010,011,100,101,110,111] -> [AAA,AAB,ABA,ABB,BAA,BAB,BBA,BBB]
4 [0001,1011,0010] -> [AAAA,BAAA,AABA]
4 [0001,1011,0010,0110,1111,0000] -> [AAAA,BAAA,ABAA,BBAA,AABA,AAAB]
5 [00011,00110,00111,11110,00001,11101,10101,01010,00010] -> [AAAAA,BAAAA,ABAAA,BBAAA,AABAA,AAABA,BAABA,AAAAB,AABAB]
মজার ব্যাপার
আউটপুটে টার্ন অর্ডারগুলির সংখ্যা সর্বদা লক্ষ্য সংখ্যার শব্দের সংখ্যার সমান।
11101
দু'বার; মজার ঘটনা এখনও সেট জন্য রাখা। জগারব, ইনপুটটিতে পুনরাবৃত্তি উপাদান থাকতে পারে, বা এটি একটি ত্রুটি ছিল?