কম্পিউটার

2-ডি স্পেসে ট্রিপলেট জোড়া (A, B, C) পয়েন্ট গণনা করুন যা C++ এ প্রদত্ত শর্ত পূরণ করে


আমাদের একটি 2-ডি স্পেসে N পয়েন্টের একটি ইনপুট দেওয়া হয়েছে। লক্ষ্য হল ইনপুট থেকে বিন্দুর তিনগুণ গণনা করা যাতে একটি বিন্দু অন্য দুটির মধ্যবর্তী লাইনের মধ্যবিন্দু হয়। অর্থাৎ যদি ট্রিপলেট হয় (A,B,C) তাহলে B হল A এবং C এর মধ্যবিন্দু (বা A,B,C এর অন্য কোনো সমন্বয়)।

আমরা একটি ভেক্টরে জোড়া হিসাবে সমস্ত বিন্দু সন্নিবেশ করে এটি করব। তারপর সেটে এই ভেক্টর থেকে সমস্ত জোড়া যোগ করুন। সেট থেকে দুটি পয়েন্ট নিয়ে পরীক্ষা করুন যে একই সেটে 2 দ্বারা বিভক্ত স্থানাঙ্কের যোগফল (x,y) বিদ্যমান কিনা। যদি হ্যাঁ ট্রিপলেট গণনা বৃদ্ধি।

উদাহরণ দিয়ে বোঝা যাক।

ইনপুট

<প্রে>{ 1,2 }, { 4,2} , { 2,1 } , { 7,2 } N=4 জোড়া

আউটপুট

প্রদত্ত শর্ত পূরণকারী ট্রিপলেট জোড়ার সংখ্যা হল:1

ব্যাখ্যা

এখানে {4,2} হল {1,2} এবং {7,2}-এর মধ্যবর্তী বিন্দু। মাত্র ১টি এরকম ট্রিপলেট

ইনপুট

{ 1,2 }, { 4,2} , { 2,1 } , { 5,2 }, { 8,1} , {1,1} N=6

আউটপুট

প্রদত্ত শর্ত পূরণকারী ট্রিপলেট জোড়ার সংখ্যা হল:1

ব্যাখ্যা

এমন কোনো ট্রিপলেট বিদ্যমান নেই

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • আমরা .

    প্রকারের জোড়ার ভেক্টর নিচ্ছি
  • প্রতিটি জোড়ায় (x,y) স্থানাঙ্ক রয়েছে।

  • ফাংশন mid_point(vector> vec, int size) একটি ভেক্টর নেয় এবং এটির আকার ইনপুট হিসাবে থাকে এবং মধ্য-বিন্দু শর্ত পূরণ করে এমন ট্রিপলেটের সংখ্যা প্রদান করে।

  • এই ধরনের ট্রিপলেটের জন্য প্রাথমিক পরিবর্তনশীল গণনা 0 হিসাবে নিন।

  • একটি সেট> সেটে ভেক্টর থেকে সমস্ত জোড়া সন্নিবেশ করান। এতে সব অনন্য পয়েন্ট থাকবে।

  • প্রতিটি বিন্দুর জোড়ার জন্য দুটি লুপ ব্যবহার করে ভেক্টরটি অতিক্রম করুন৷

  • পূর্ণসংখ্যা বিন্দু_A তে উভয় বিন্দুর x স্থানাঙ্কের যোগফল এবং পূর্ণসংখ্যা বিন্দু_B তে উভয় বিন্দুর y স্থানাঙ্কের যোগফল সংরক্ষণ করুন।

  • পয়েন্ট_এ এবং পয়েন্ট_বি-তে এই দুটি যোগফলই যদি সমান হয় তবে মধ্য-বিন্দুর অবস্থা পরীক্ষা করুন।

  • যদি একটি জোড়া(point_A/2,point_B/2) সেটে একটি জোড়া হিসাবে বিদ্যমান থাকে মানে মধ্য-বিন্দু বিদ্যমান। ট্রিপলেটের সংখ্যা বৃদ্ধি।

  • শেষ পর্যন্ত গণনায় ট্রিপলেটের সংখ্যা থাকবে।

  • লুপের শেষে ফলাফল হিসাবে গণনা ফেরত দিন।

উদাহরণ

#include নেমস্পেস ব্যবহার করে std;int mid_point(vector> vec, int size){ int count =0; সেট<জোড়া> সেট; জন্য (int i =0; i > vec ={ { 9, 2 }, { 5, 2 }, { 1, 2 } }; int size =vec.size(); cout<<"প্রদত্ত শর্ত পূরণ করে এমন 2-D স্পেসে ট্রিপলেট জোড়ার (A, B, C) বিন্দুর সংখ্যা হল:"< 

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
প্রদত্ত শর্ত পূরণকারী 2-D স্পেসে ট্রিপলেট জোড়ার (A, B, C) বিন্দুর সংখ্যা হল:1

  1. C++ এ একটি প্রদত্ত মানের যোগফলের জন্য একটি ট্রিপলেট খুঁজুন

  2. C++ এ প্রদত্ত স্ট্রিংয়ের অ-ওভারল্যাপিং প্যালিনড্রোমিক সাব-স্ট্রিংগুলির জোড়া গণনা করুন

  3. C++ এ প্রদত্ত শর্ত পূরণ করে এমন উপসেট গণনা করুন

  4. C++ এ একটি গ্রিডে প্রদত্ত দিকের সম্ভাব্য চালগুলি গণনা করুন