সমস্যা বিবৃতি
একটি পূর্ণসংখ্যা K এবং M x N এর একটি ম্যাট্রিক্স দেওয়া, কাজটি হল ম্যাট্রিক্সের সমস্ত উপাদানকে সমান করতে প্রয়োজনীয় ন্যূনতম সংখ্যক ক্রিয়াকলাপ খুঁজে বের করা। একটি একক ক্রিয়াকলাপে, ম্যাট্রিক্সের যেকোনো উপাদান থেকে K যোগ বা বিয়োগ করা যেতে পারে।
উদাহরণ
যদি ইনপুট ম্যাট্রিক্স হয়:{ {2, 4}, {20, 40}} এবং K =2 তাহলে নিম্নরূপ মোট 27টি অপারেশন প্রয়োজন;ম্যাট্রিক্স[0][0] =2 + (K * 9) =20 =9 অপারেশন ম্যাট্রিক্স[0][1] =4 + (k * 8) =20 =8 অপারেশনম্যাট্রিক্স[1][0] =20 + (k * 10) =40 =10 অপারেশন
অ্যালগরিদম
<পূর্ব>1. যেহেতু আমরা শুধুমাত্র যেকোন উপাদান থেকে K যোগ বা বিয়োগ করতে পারি, তাই আমরা সহজেই অনুমান করতে পারি যে K সহ সমস্ত উপাদানের মোড সমান হওয়া উচিত। যদি তা না হয়, তাহলে -12 ফেরত দিন। ম্যাট্রিক্সের সমস্ত উপাদানকে অ-মৃত ক্রমে সাজান এবং সাজানো উপাদানগুলির মধ্যক নির্ণয় করুন3। ন্যূনতম সংখ্যক ধাপ ঘটবে যদি আমরা সমস্ত উপাদানকে মধ্যকার সমান রূপান্তর করিউদাহরণ
#includeনামস্পেস ব্যবহার করে ); int mod =ম্যাট্রিক্স[0][0] % k; (int i =0; i > matrix ={ { 2, 4}, { 20, 40}, }; int n =matrix.size(); int m =matrix[0].size(); int k =2; cout <<"সর্বনিম্ন প্রয়োজনীয় অপারেশন =" < আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট তৈরি করে
আউটপুট
সর্বনিম্ন প্রয়োজনীয় অপারেশন =27