এখানে আপনার জন্য একটি প্রতারণামূলক চ্যালেঞ্জিং জ্যামিতি ধাঁধা!
একটি বৃত্ত দেওয়া A
, এবং n
অন্যান্য চেনাশোনা B[n]
, মোট আয়তন অন্তর্ভুক্ত এটি মধ্যে A
যে না কোন বৃত্তের মধ্যে B
।
আপনার কোডটি যতটা সম্ভব সংক্ষিপ্ত হওয়া উচিত।
ইনপুট
আপনার ইনপুটটিতে নিম্নলিখিত তথ্য থাকা উচিত:
- বৃত্তের ব্যাসার্ধকে উপস্থাপন করার জন্য একটি ভাসমান-পয়েন্ট সংখ্যা
A
। - চেনাশোনাগুলির রেডিয়িকে উপস্থাপন করতে ভাসমান-পয়েন্ট সংখ্যাগুলির একটি তালিকা
B
। - চেনাশোনাগুলির কেন্দ্রগুলির একটি তালিকা
B
। আপনার প্রোগ্রামটি মেরু বা কার্টেসিয়ান স্থানাঙ্কগুলির মধ্যে কেন্দ্রগুলি আশা করতে পারে। - Allyচ্ছিকভাবে, আপনি
n
বি তে চেনাশোনা সংখ্যা পেতে পারেন এই ইনপুটটির প্রয়োজন নেই।
এটি অনুমান করা হবে যে বৃত্তের কেন্দ্রটি A
মূল, অর্থ, এটি (0, 0)
।
এটি গ্যারান্টিযুক্ত যে কোনও দুটি চেনাশোনা B
সদৃশ নয় তবে এটি গ্যারান্টিযুক্ত নয় যে: সমস্ত B
ছেদ ছেদ করে A
, সমস্ত কেন্দ্রগুলি B
বাইরে থাকে A
বা দুটি বৃত্ত B
একে অপরকে ছেদ করে না। আপনার সমাধানটি বিভিন্ন প্রান্তের কেস পরিচালনা করতে পারে তা নিশ্চিত করুন।
আপনি কোনও ক্রমে এবং পাঠ্য ইনপুট আকারে (স্ট্ডিন বা আপনার ভাষার সমতুল্য), ফাংশন প্যারামিটার বা কমান্ড-লাইন আর্গুমেন্টের ইনপুট পেতে পারেন।
আপনি যদি পাঠ্য ইনপুট গ্রহণ করতে চান, তবে ইনপুটের টুকরোগুলির মধ্যে এক বা দুই-অক্ষরের মুদ্রণযোগ্য ASCII সীমানাঙ্ক থাকা উচিত।
আউটপুট
আপনার প্রোগ্রাম বা ফাংশনটির A
চেনাশোনাগুলির মধ্যে কোনওরকমের মোট ক্ষেত্রের প্রতিনিধিত্ব করে এমন একক ভাসমান-পয়েন্ট সংখ্যা আউটপুট করা উচিত B
। আপনার উত্তরগুলি সমস্ত পরীক্ষার ক্ষেত্রে কমপক্ষে তিনটি গুরুত্বপূর্ণ ব্যক্তির কাছে নির্ভুল হওয়া উচিত।
সাধারণ কোড-গল্ফ বিধি প্রযোজ্য।
আপনার সমাধানটি কোনও অঞ্চল নির্ধারণের জন্য চেনাশোনাগুলির মধ্যে স্যাম্পলিং পয়েন্টগুলির উপর নির্ভর করবে না।
বিল্ট-ইনগুলি যা স্বয়ংক্রিয়ভাবে চেনাশোনাগুলির ছেদগুলি সনাক্ত করে, চেনাশোনাগুলির ছেদগুলির মধ্যে অঞ্চলগুলি সন্ধান করে বা অবিলম্বে এই সমস্যার সমাধান করে তা মঞ্জুরিপ্রাপ্ত নয়।
পরীক্ষার মামলা
প্রতিটি চিত্রে চেনাশোনাটি A
নীল রঙে বর্ণিত হয়, চেনাশোনাগুলি B
সবুজ এবং ভরা কালোতে বর্ণিত হয়। যে অঞ্চলটি ফেরত দেওয়া উচিত সেগুলি পূর্ণ লাল।
( আমার সমাধানগুলি পরীক্ষা করার জন্য রাইনার পি। কে বিশেষ ধন্যবাদ )
পরীক্ষার কেস 1:
A = {x: 0, y: 0, rad: 50}
B[0] = {x: 0, y: 0, rad: 100}
Result: 0.00
পরীক্ষার কেস 2:
A = {x: 0, y: 0, rad: 100.000000}
B[0] = {x: 100.000000, y: 0.000000, rad: 50.000000}
B[1] = {x: 30.901699, y: -95.105652, rad: 50.000000}
B[2] = {x: -80.901699, y: -58.778525, rad: 50.000000}
B[3] = {x: -80.901699, y: 58.778525, rad: 50.000000}
B[4] = {x: 30.901699, y: 95.105652, rad: 50.000000}
Result: 1.3878e+04
পরীক্ষার কেস 3:
A = {x: 0, y: 0, rad: 138}
B[0] = {x: 100, y: 0, rad: 100}
B[1] = {x: -50, y: -86, rad: 100}
B[2] = {x: -93, y: 135, rad: 50}
Result: 1.8969e+04
পরীক্ষার কেস 4:
A = {x: 0, y: 0, rad: 121.593585}
B[0] = {x: 81.000000, y: 107.000000, rad: 59.841457}
B[1] = {x: -152.000000, y: -147.000000, rad: 50.000000}
B[2] = {x: 43.000000, y: -127.000000, rad: 105.118980}
B[3] = {x: 0.000000, y: -72.000000, rad: 57.870545}
B[4] = {x: -97.000000, y: -81.000000, rad: 98.488578}
B[5] = {x: -72.000000, y: 116.000000, rad: 66.468037}
B[6] = {x: 2.000000, y: 51.000000, rad: 50.000000}
Result: 1.1264e+04
পরীক্ষার কেস 5:
A = {x: 0, y: 0, rad: 121.605921}
B[0] = {x: 0.000000, y: -293.000000, rad: 250.000000}
B[1] = {x: 0.000000, y: -56.000000, rad: 78.230429}
B[2] = {x: 0.000000, y: -102.000000, rad: 100.000000}
Result: 2.6742e+04
প্রস্তাবিত পড়া:
ফেওয়েল, এমপি "তিনটি চেনাশোনাগুলির সাধারণ ওভারল্যাপের অঞ্চল"। অক্টোবর 2006. ওয়েব। http://dspace.dsto.defence.gov.au/dspace/bitstream/1947/4551/4/DSTO-TN-0722.PR.pdf ।
B
অন্য একটি থাকে। যোগ করা উচিত হতে পারে।
1.8970e+04
।
B[0] - A intersection: 20653.659515
, B[1] - A intersection: 20757.824115
, B[1] - B[0] intersection: 1841.847766
, B[2] - A intersection: 1289.164541
, যা উৎপাদ 18969.69009
উত্তর হিসাবে।