সমস্যা বিবৃতি
কার্টেসিয়ান প্লেনে আমাদের N পয়েন্ট দেওয়া হয়। আমাদের কাজ হল ন্যূনতম সংখ্যক বিন্দু খুঁজে বের করা যা যেকোনো অক্ষের একপাশে অবশিষ্ট বিন্দুগুলি পাওয়ার জন্য সরানো উচিত।
যদি দেওয়া ইনপুট হয় {(10, 5), (-2, -5), (13, 8), (-14, 7)} তাহলে যদি আমরা (-2, -5) মুছে ফেলি তবে বাকি সমস্ত পয়েন্ট X এর উপরে হবে -অক্ষ।
তাই উত্তর হল 1.
অ্যালগরিদম
<পূর্ব>1. X-অক্ষ এবং Y-অক্ষ2 এর সব দিকের বিন্দুর সংখ্যা বের করে। তাদের উভয় থেকে ন্যূনতম রিটার্ন করুনউদাহরণ
#include#include #define SIZE(arr) (sizeof(arr) / sizeof(arr[0])) namespace ব্যবহার করে std;struct point{ int x, y;};int minPointsToBeRemoved( পয়েন্ট arr[], int n){ int a =0, b =0, c =0, d =0; জন্য (int i =0; i =0) b++; অন্যথায় যদি (arr[i].x <=0) a++; যদি (arr[i].y <=0) d++; অন্যথায় যদি (arr[i].y>=0) c++; } রিটার্ন মিনিট({a, d, c, b});}int main(){ point arr[] ={{10, 5}, {-2, -5}, {13, 8}, {-14 , 7}}; cout <<"সরানো সর্বনিম্ন পয়েন্ট =" < আউটপুট
আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট −
তৈরি করেসরানো সর্বনিম্ন পয়েন্ট =1