বোর্ডগেম টেরা মাইস্টিকার প্রাথমিক অন্যতম এক সংস্থান, পাওয়ারের জন্য খুব আকর্ষণীয় মেকানিক রয়েছে। একটি ব্যাংক থেকে পাওয়ার ইউনিট পাওয়ার এবং ব্যয় করার পরিবর্তে প্রতিটি খেলোয়াড় ঠিক 12 ইউনিট শক্তি দিয়ে খেলা শুরু করে যা তিনটি "বাটি" -র উপরে বিতরণ করা হয়, যা I, II এবং III লেবেলযুক্ত। শক্তি অর্জন এবং ব্যয় করার পরে কেবল এই বাটিগুলির মধ্যে শক্তি স্থানান্তরিত হয়:
- পাওয়ারের একক ব্যয় করতে, বাটি III থেকে বোলিং আইতে সরান (আপনি যদি তৃতীয় বাটিতে একটি ইউনিট রাখেন)।
- যখন আপনি পাওয়ারের একক অর্জন করেন, আমি যদি প্রথম বাটিতে একটি ইউনিট থাকে, তবে এটি দ্বিতীয়টি বোলিংয়ে নিয়ে যান। যদি প্রথম বাটিতে কোনও ইউনিট না থাকে তবে দ্বিতীয় বাটিতে একটি ইউনিট থাকে তবে এটি তৃতীয় বোলিংয়ে নিয়ে যান। যদি সমস্ত ইউনিট ইতিমধ্যে তৃতীয় বাটিতে থাকে তবে কিছুই হয় না।
- আপনি একবারে একাধিক ইউনিট অর্জন বা ব্যয় করার সময় এগুলি একবারে এক ইউনিট প্রসেস করা হয়।
এখানে একটি উদাহরণ। বলুন, কোনও প্লেয়ার নিম্নলিখিত পাওয়ার বিতরণ দিয়ে শুরু হয় (ক্রমে দেওয়া I | II | III
):
5 | 7 | 0
তাদের পাওয়ারটি পরিবর্তিত হয় যদি তারা কিছুবার শক্তি অর্জন করে এবং ব্যয় করে:
5 | 7 | 0
Gain 3 ==> 2 | 10 | 0
Gain 6 ==> 0 | 8 | 4 (move 2 power from I to II,
then the remaining 4 from II to III)
Gain 7 ==> 0 | 1 | 11
Spend 4 ==> 4 | 1 | 7
Gain 1 ==> 3 | 2 | 7
Spend 7 ==> 10 | 2 | 0
Gain 12 ==> 0 | 10 | 2 (move 10 power from I to II,
then the remaining 2 from II to III)
Gain 12 ==> 0 | 0 | 12 (the two excess units go to waste)
আপনার কাজটি হ'ল এরকম একটি লাভ বা ব্যয় ইভেন্টের ফলাফল গণনা করা।
চ্যালেঞ্জ
আপনাকে ইনপুট হিসাবে চারটি পূর্ণসংখ্যা দেওয়া হয়। প্রথম তিনটি, I
, II
, III
, ক্ষমতা পরিমাণ তিন বাটি প্রতিটি প্রতিনিধিত্ব করে। এগুলি অ-নেতিবাচক হবে এবং এগুলির পরিমাণ 12 হবে The চতুর্থ সংখ্যাটি, P
লাভ বা ব্যয় করা পরিমাণের পরিমাণ, এবং অন্তর্ভুক্তিক পরিসরে থাকবে [-III, 24]
(সুতরাং আপনি ধরে নিতে পারেন যে প্লেয়ার কখনও বেশি শক্তি ব্যয় করার চেষ্টা করবেন না তারা বর্তমানে পারে তার চেয়ে বেশি তবে তারা সমস্ত শক্তি বোলিতে সরানোর প্রয়োজনের চেয়ে আরও বেশি শক্তি অর্জন করতে পারে)।
আপনি এই সংখ্যাগুলি যে কোনও ধারাবাহিক ক্রমে, পৃথক যুক্তি হিসাবে, পূর্ণসংখ্যার তালিকা হিসাবে অথবা এই সংখ্যাসমূহের একটি স্ট্রিং হিসাবে নিতে পারেন। এছাড়াও আপনি গ্রহণ করতে পারেন P
হিসাবে, এক আর্গুমেন্ট হিসাবে I
, II
, III
একটি পৃথক তালিকা আর্গুমেন্ট হিসাবে।
আপনি আউটপুট তিনটি পূর্ণসংখ্যার উচিত I'
, II'
, III'
প্রতিটি বাটি মধ্যে ক্ষমতার পরিমাণ প্রতিনিধিত্ব যা পরে P
ইউনিট অর্জন হয় না বা অতিবাহিত নিম্নলিখিত নিয়মগুলি উপরে ব্যাখ্যা।
আপনি কোনও প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন এবং ইনপুট গ্রহণ এবং আউটপুট সরবরাহের আমাদের মানক পদ্ধতির কোনওটি ব্যবহার করতে পারেন ।
আপনি যে কোনও প্রোগ্রামিং ভাষা ব্যবহার করতে পারেন তবে নোট করুন যে এই ফাঁকগুলি ডিফল্টরূপে নিষিদ্ধ।
এটি কোড-গল্ফ , তাই সংক্ষিপ্ততম বৈধ উত্তর - বাইটগুলিতে মাপা - জয় w
পরীক্ষার মামলা
I II III P => I' II' III'
5 7 0 3 => 2 10 0
2 10 0 6 => 0 8 4
0 8 4 7 => 0 1 11
0 1 11 -4 => 4 1 7
4 1 7 0 => 4 1 7
4 1 7 1 => 3 2 7
3 2 7 -7 => 10 2 0
10 2 0 12 => 0 10 2
0 10 2 12 => 0 0 12