প্রেরণা
এই প্রশ্নটি জনপ্রিয় ডেক-বিল্ডিং কার্ড গেম ডোমিনিয়ন থেকে কার্ডগুলি থ্রোন রুম এবং কিং কোর্ট দ্বারা অনুপ্রাণিত ।
নিজের পালা অংশ হিসাবে, কেউ ক্রিয়াকলাপ চালায়। এই দুটি নির্দিষ্ট ক্রিয়া পরবর্তী খেলানো ক্রিয়াকে দু'বার বা তিনবার পুনরাবৃত্তি করতে পারে। অন্যান্য "জেনেরিক" ক্রিয়াগুলি নির্দিষ্ট গেমের প্রভাবের কারণ ঘটায়, তবে আমরা বর্ণগুলিতে কেবল আগ্রহী হব না, কেবলমাত্র তাদের অক্ষর দিয়ে লেবেল করতাম।
মজার বিষয়টি হ'ল যখন একটি সিংহাসন কক্ষ বা কিং কোর্ট কিং এর কোর্টের অন্য একটি সিংহাসন কক্ষকে প্রভাবিত করে, দ্বিগুণ বা ত্রিগুণ প্রভাব নিজেকে দ্বিগুণ বা তিনগুণ করে দেয়। আরশ রুম, কিং কোর্টস এবং বহুগুনের ক্রমগুলির দীর্ঘ চেইন এমনকি অভিজ্ঞ ডোমিনিয়ন খেলোয়াড়কে বিভ্রান্ত করতে পারে।
আপনার লক্ষ্য হ'ল কোড লিখুন যা যথাসম্ভব কয়েকটি বাইট ব্যবহার করে এই চেইনগুলিকে সঠিকভাবে সমাধান করে। চীনগুলি ডোমিনিয়ন বিধিগুলিতে কীভাবে সমাধান হয় তা ব্যাখ্যা করার আগে আমি প্রোগ্রামের প্রয়োজনীয়তাগুলি বর্ণনা করব describe
* প্রযুক্তিগতভাবে, আপনি সিংহাসন ঘর বা কিং কোর্ট সমাধানের অংশ হিসাবে ক্রিয়াকলাপটিকে প্রভাবিত করেন তবে এই চ্যালেঞ্জের জন্য এই মতামত পরিষ্কার।
প্রোগ্রাম প্রয়োজনীয়তা
একটি প্রোগ্রাম লিখুন বা নামকরণ ফাংশন । এটি খেলানো ক্রিয়াকলাপগুলির (এসটিডিআইএন বা ফাংশন ইনপুট) গ্রহণ করা উচিত এবং দ্বিগুণ এবং ট্রিপলিংয়ের প্রভাবগুলি থেকে ক্রিয়াকলাপের ফলে তৈরি শৃঙ্খলের আউটপুট বা মুদ্রণ করা উচিত। সবচেয়ে কম বাইট জেতা
ইনপুট
ক্রমের ক্রমের প্রতিনিধিত্বকারী একটি স্ট্রিং। জেনেরিক ক্রিয়াগুলি এর A
মাধ্যমে মূলধন বর্ণ দ্বারা প্রতিনিধিত্ব করা হয় Z
। বিশেষ ডাবলিং অ্যাকশন আরশন রুম চরিত্রটি উপস্থাপন করে 2
এবং ট্রিপলিং অ্যাকশন কিং কোর্ট দ্বারা 3
,
অক্ষরের সংখ্যা (ক্রিয়াগুলি) সমেত 1 এবং 30 এর মধ্যে হবে। আপনি যদি চান তবে একটি নতুন লাইনে ইনপুট শেষ হতে পারে।
উদাহরণ ইনপুট: WA23G3GA
আউটপুট
বড় হাতের অক্ষরে একটি স্ট্রিং A
থেকে Z
। এটি জেনেরিক ক্রিয়াকলাপগুলির ক্রম হওয়া উচিত যা দ্বিগুণ এবং ট্রিপলিং এফেক্টগুলি ঘটবে তার চেয়ে ক্রম অনুযায়ী সমাধান করে।
আপনি ইচ্ছা করলে একটি নতুন লাইনে আউটপুট শেষ হতে পারে। অন্যথায় কোনও অতিরিক্ত অক্ষর থাকা উচিত।
উদাহরণ আউটপুট: WAGGGGGGAAA
।
ডোমিনিয়নে ডাবলিং এবং ট্রিপলিং কীভাবে কাজ করে
এখানে, আমি কীভাবে ডমিনিয়ন বিধি অনুসারে আরন রুম ( 2
গুলি) এবং কিং কোর্টস (গুলি) এর চেইনগুলি 3
কাজ করব work
আপনি একটি বাজানোর পরে 2
, সমাধান করা পরবর্তী ক্রিয়াটি দু'বার ঘটে। সুতরাং, আপনি যদি প্রথম খেলেন 2
, তবে A
, আপনি A
দু'বার হয়ে যাবেন।
2A -> AA
একইভাবে,
A2BC -> ABBC
3DE -> DDDE
3N2BC3XY2 -> NNNBBCXXXY
সর্বশেষ উদাহরণে নোট করুন যে ফাইনালের 2
দ্বিগুণ করার কিছুই ছিল না, সুতরাং এর কোনও প্রভাব ছিল না।
আকর্ষণীয় জিনিসটি ঘটে যখন দ্বিগুণ বা ত্রিগুণ প্রভাবগুলি নিজেরাই দ্বিগুণ হয় বা তিনগুণ হয়। উদাহরণ স্বরূপ,
22AB -> AABB
প্রথম, আপনি খেলুন 2
। তারপরে, আপনি অন্য খেলুন 2
, যা আগের থেকে দ্বিগুণ 2
। ফলস্বরূপ, পরবর্তী দুটি ক্রিয়া দ্বিগুণ হয়। প্রথমে দুই কপি A
সংকল্প। তারপরে, সংকলনের অনুলিপিগুলি B
।
লক্ষ্য করুন A
হয় চারগুণ না: প্রথম কপি পর 2
প্রথম কাজ A
, পরবর্তী কপি পরবর্তী অমীমাংসিত কর্ম, যা উপর কাজ করে B
। ছাড়া B
, আমরা চাই
22A -> AA
যেখানে দ্বিতীয় অনুলিপি 2
পরবর্তী ক্রিয়াটি দ্বিগুণ হওয়ার জন্য অপেক্ষা করছে, কিন্তু কোনও পদক্ষেপ আসেনি।
পরিশেষে, আসুন একটি জটিল উদাহরণটি দেখুন।
223BCDE -> BBBCCCDDE
আগের 2
মতই প্রথমটি দ্বিতীয়টিকে 2
দ্বিগুণ করার কারণ দেয় । সুতরাং, পরবর্তী দুটি ক্রিয়া দ্বিগুণ হবে। প্রথম কপিটি 2
পরবর্তী ক্রিয়াকে দ্বিগুণ করে 3
, যার পরবর্তী কপিটি সমাধান করার আগে অবশ্যই সম্পূর্ণ সমাধান করা উচিত 2
। 3
ট্রিপলগুলির প্রথম কপি B
, এবং দ্বিতীয় অনুলিপি ট্রিপল C
। এখন, অপেক্ষায় থাকা দ্বিতীয় অনুলিপিটি 2
পরবর্তী স্থির-অমীমাংসিত ক্রিয়াকে দ্বিগুণ করে D
। এর পরে, কোনও দ্বিগুণ বা ত্রিগুণ প্রভাব নেই এবং চূড়ান্ত ক্রিয়াটি E
কেবল ঘটে।
পরীক্ষার মামলা
এই হিসাবে দেওয়া হয় (input,output)
।
(FY, FY)
(A2BC, ABBC)
(3DE, DDDE)
(3N2BC3XY2, NNNBBCXXXY)
(WA23G3GA, WAGGGGGGAAA)
(32, )
(33RST, RRRSSSTTT)
(2A32B2CDEFG, AABBCCDDEEFG)
(A2A323AB2CD2D2E3ABC, AAAAAABBBCCDDDDEEAAABBBC)
(P22LL3Q2Q22T, PLLLLQQQQQTT)
(322322ABCDEFGHIJKLMN, AABBCCDDEEEFFGGHHIJKLMN)
1
বহুগুণিত ক্রিয়াগুলি বহুগুণিতের মতো একই আচরণ করার জন্য আমি আপনার স্ট্যাকের নীচে চাপ দেওয়ার কৌশলটি পছন্দ করি । আপনি কীভাবে বিভিন্ন স্ট্যাকের জালিয়াতি করেন সে সম্পর্কে আরও ব্যাখ্যা করতে পারেন? বিশেষত, "রিপ স্ট্যাকটি শীর্ষে আনতে" does কী করে?