সমস্যা বিবৃতি
N প্রতিযোগিতার অংশগ্রহণকারীদের M এ বিভক্ত করা হয়েছিল কোনোভাবে দল যাতে প্রতিটি দলে অন্তত একজন অংশগ্রহণকারী থাকে। প্রতিযোগীতার পর একই দলের প্রতিযোগীরা বন্ধু হয়ে ওঠে।
আপনার কাজ হল এমন একটি প্রোগ্রাম লেখা যা ন্যূনতম এবং সর্বাধিক সংখ্যক বন্ধু খুঁজে পাবে যা প্রতিযোগিতার শেষে তৈরি হতে পারে।
অ্যালগরিদম
<পূর্ব>1. আমরা নীচের সূত্র ব্যবহার করে সর্বাধিক জোড়া পেতে পারি:maxPairs =((n – m) * (n – m + 1)) / 22. আমরা নীচের সূত্রটি ব্যবহার করে min জোড়া পেতে পারি:minPairs =m * (((n - m) / m + 1) * ((n - m) / m)) / 2 + ceil((n - m) / দ্বিগুণ(m)) * ((n - m) % m);উদাহরণ
#include#include Namespace ব্যবহার করে std;void getPairs(int n, int m){ int maxPairs =((n - m + 1) * (n - m)) / 2; int minPairs =m * (((n - m) / m + 1) * ((n - m) / m)) / 2 + ceil((n - m) / double(m)) * ((n - m) ) % মি); cout <<"সর্বনিম্ন জোড়া =" <<মিনিট জোড়া <<"\n"; cout <<"সর্বোচ্চ জোড়া =" < আউটপুট
আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট-
তৈরি করেসর্বনিম্ন জোড়া =1 সর্বোচ্চ জোড়া =1