ভূমিকা
Hausdorff দূরত্ব একটি মেট্রিক স্থান দুটি সাব-সেট নির্বাচন মধ্যে পার্থক্য পরিমাপ। স্বজ্ঞাতভাবে, একটি মেট্রিক স্পেস একটি অন্তর্নির্মিত দূরত্ব ফাংশন সহ কিছু সেট; এই চ্যালেঞ্জে আমরা সাধারণ দূরত্ব সহ প্রাকৃতিক সংখ্যা ব্যবহার করব d(a, b) := abs(a - b)। দুটি খালি খালি সীমাবদ্ধ সেটগুলির মধ্যে হসডর্ফ দূরত্ব Aএবং এর Bদ্বারা দেওয়া হয়
max(max(min(d(a, b) for b in B) for a in A),
max(min(d(a, b) for a in A) for b in B))
পাইথন জাতীয় স্বরলিপি। হাউসডর্ফ দূরত্বটি যে উপাদানটির Aজন্য নিকটতম উপাদানটির দূরত্ব Bসর্বাধিক এবং সেই উপাদানটির Bজন্য নিকটতম উপাদানটির দূরত্ব Aসর্বাধিক এবং তারপরে এই দূরত্বগুলির সর্বাধিক গ্রহণ করে গণনা করা যেতে পারে । অন্য কথায়, যদি Hausdorff দূরত্ব d, তারপর প্রতিটি উপাদান Aদুরুত্বে dকিছু উপাদান B, এবং তদ্বিপরীত।
ইনপুট
আপনার ইনপুটটি পূর্ণসংখ্যার একক তালিকা। এটিতে কেবলমাত্র উপাদান রয়েছে 0,1,2,3, যা তালিকার প্রদত্ত সূচকটি Aনা B, কেবল A, কেবল B, বা উভয় Aএবং এর উপাদান নয় কিনা তা নির্দেশ করে B। উদাহরণস্বরূপ, ইনপুটটির [0,1,1,0,2,3]অর্থ হ'ল A = {1,2,5}এবং B = {4,5}, যদি আমরা 0-ভিত্তিক সূচী ব্যবহার করি (যা আমাদের মেট্রিক্স অনুবাদ অবিসক্ত হিসাবে কোন পার্থক্য করে না)।
আউটপুট
আপনার আউটপুট মধ্যে Hausdorff দূরত্ব Aএবং B; উপরের উদাহরণে, এটি 3। যদি দুটি সেট খালি থাকে, তবে দূরত্বটি সংজ্ঞায়িত করা হয়নি, এবং আপনি ফিরে আসবেন -1।
বিধি
আপনি একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন। সর্বনিম্ন বাইট গণনা জয়, এবং মান লুফোলগুলি অনুমোদিত নয়।
পরীক্ষার মামলা
[] -> -1
[0] -> -1
[0,1,0] -> -1
[2,0,0,2] -> -1
[0,1,2,3] -> 1
[0,3,3,0,0,0,0,3] -> 0
[1,0,0,1,0,0,1,3,1] -> 7
[1,0,0,0,0,3,0,0,0,0,2] -> 5
[0,1,1,3,1,3,2,1,1,3,0,3] -> 2
[2,2,2,1,2,0,3,1,3,1,0,3] -> 3
[1,3,0,2,0,2,2,1,0,3,2,1,1,2,2] -> 2
[1,0,1,1,2,0,1,2,3,1,0,0,0,1,2,0] -> 4
Aএকটির খুব কাছাকাছি Bঅবস্থান রয়েছে তবে এর Bথেকে খুব দূরের উপাদান রয়েছে A(উদাহরণস্বরূপ, যদি Aএটি একটি উপসেট হয় B)। সেক্ষেত্রে সংক্ষিপ্ত সূত্রটি ভুল।
max(max(min(d(a, b) for b in B) for a in A))যথেষ্ট হওয়া উচিত। এটি হ'লd(a,b)পরম মানটি দেয় এবং তাই উভয় সর্বোচ্চ ফাংশন প্রতিবার একই সংখ্যা ফেরত দেয়।