বাটি পাইল উচ্চতা
এই ধাঁধাটির লক্ষ্য হ'ল একটি বাটিগুলির একটি স্তরের উচ্চতা গণনা করা।
একটি বাটি বেধ ব্যতীত রেডিয়ালি প্রতিসম ডিভাইস হিসাবে সংজ্ঞায়িত হয়। এর সিলুয়েট আকৃতি একটি এমনকি বহুভুজ। স্ট্যাকটি রেডিয়ির একটি তালিকা দ্বারা বর্ণনা করা হয়েছে, প্রতিটি কো-এফিসিয়েন্টের তালিকা হিসাবে ইনপুট হিসাবে দেওয়া হয় এমনক একটি বহু বহুবর্ষের সাথে যুক্ত, (উদাহরণস্বরূপ তালিকাটি 3.1 4.2
বহুপদী )।
বহুবর্ষে স্বেচ্ছাসেবী ডিগ্রি থাকতে পারে। সরলতার জন্য, স্তূপের উচ্চতা শীর্ষ-বাটিটির কেন্দ্রের উচ্চতা হিসাবে সংজ্ঞায়িত করা হয়েছে (একটি উদাহরণের উদাহরণ 3 এর প্লট দেখুন)।
পরীক্ষার কেসগুলি বিন্যাসে রয়েছে radius:coeff1 coeff2 ...
: প্রতিটি লাইনটি বাটিটির ব্যাসার্ধের প্রতিনিধিত্ব করে একটি ফ্লোট সংখ্যা দিয়ে শুরু হয়, তারপরে একটি কোলন এবং একটি স্পেস-বিভাজিত তালিকা এমনকি পাওয়ার 2 দিয়ে শুরু করে, এমনকি শক্তির জন্য সহগের সমন্বিত একটি স্পেস-বিভাজিত তালিকা হয় (শূন্য ধ্রুবক অংশ বোঝানো হয়) । উদাহরণস্বরূপ, লাইনটি 2.3:3.1 4.2
একটি বাটি ব্যাসার্ধ 2.3
এবং আকৃতি-বহুপদী বর্ণনা করে 3.1 * x^2 + 4.2 * x^4
।
উদাহরণ 1
42:3.141
একক বাটিতে কোনও উচ্চতা না থাকায় শূন্য উচ্চতার এক স্তূপ বর্ণনা করে।
উদাহরণ 2
1:1 2
1.2:5
1:3
উচ্চতার একটি গাদা বর্ণনা করে 2.0
(প্লট দেখুন)।
উদাহরণ 3
1:1.0
0.6:0.2
0.6:0.4
1.4:0.2
0.4:0 10
উচ্চতা 0.8 একটি গাদা বর্ণনা (প্লট সবুজ তীর দেখুন)।
এটি কোড গল্ফ, তাই সংক্ষিপ্ততম কোডটি জয়ী।
আমার রেফারেন্স কোড আছে ।
সম্পাদনা:
বহুবচনগুলির শিকড় গণনা করতে রেফারেন্স বাস্তবায়ন একটি গ্রন্থাগারের উপর নির্ভর করে। আপনি এটিও করতে পারেন তবে আপনার দরকার নেই। যেহেতু রেফারেন্স বাস্তবায়ন কেবলমাত্র (বেশ ভাল) সংখ্যাসূচকভাবে হয়, তাই আমি এমন কোনও কোড গ্রহণ করব যা সাধারণ ভাসমান-পয়েন্ট সহনশীলতার মধ্যে সঠিক ফলাফল দেয়।
এই ধাঁধার আর একটি বৈকল্পিক হ'ল বাটিগুলি পুনরায় সাজিয়ে উচ্চতা হ্রাস করা। আমি নিশ্চিত না একটি দ্রুত সমাধান আছে কিনা (আমার ধারণা এটি এনপি-হার্ড)। কারও কাছে যদি আরও ভাল ধারণা থাকে (বা এনপি-সম্পূর্ণতা প্রমাণ করতে পারে), দয়া করে আমাকে বলুন!
is_maximum
উদাহরণ হওয়া উচিত return evaluate(differentiate(shape_0), root) > 0.0
। বর্তমানে এটি dd
(আকারের মধ্যে পার্থক্যের ডেরাইভেটিভ) ব্যবহার করে মূলটির মূল্যায়ন করে , যা সর্বদা 0 (শিকড়ের জন্য) ফিরে আসা উচিত। ভাসমান পয়েন্টের ত্রুটির কারণে ফলাফলটি মাঝে মাঝে 0 এর কাছাকাছি একটি ইতিবাচক মান হয় যার কারণে কোডটি বেশ কিছু সময় একটি সঠিক বা আরও নির্ভুল ফলাফল আউটপুট করে। যে ইনপুটটি 1:0.2, 1:0.1 0.2
আউটপুট করা উচিত তা চেক করুন0.0125
0.801
। চূড়ান্ত দুটি বাটি ব্যাসার্ধে স্পর্শ করে 0.1
।