এই সমস্যায়, আমাদেরকে n আকারের একটি 2-D ম্যাট্রিক্স ম্যাট [][][] দেওয়া হয়েছে, n একটি বিজোড় সংখ্যা। আমাদের কাজ হল একটি ম্যাট্রিক্সে একটি বর্গক্ষেত্রের সর্বাধিক পার্শ্ব দৈর্ঘ্য খুঁজে বের করা।
সমস্যা বর্ণনা − আমাদের বর্গাকার ম্যাট্রিক্সের দৈর্ঘ্য খুঁজে বের করতে হবে যার পরিধির মান একই এবং এটি ম্যাট্রিক্সের মতো একই কেন্দ্র ভাগ করে।
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
ইনপুট
<প্রে>ম্যাট[][] ={ {2, 4, 6, 6, 5}, {1, 7, 7, 7, 3}, {5, 7, 0, 7, 1}, {3, 7 , 7, 7, 1}, {2, 0, 1, 3, 2}}আউটপুট
3
সমাধান পদ্ধতি
সমস্যার একটি সহজ সমাধান হল থিম্যাট্রিক্সের কেন্দ্র উপাদানটি খুঁজে বের করা কারণ এটি একটি বিজোড় ম্যাট্রিক্স, কেন্দ্রের উপাদানটি সূচকে থাকবে (n/2, n/2)। কেন্দ্রটি খুঁজে পাওয়ার পরে আমরা সমস্ত 2D উপ- এর চারপাশে ম্যাট্রিক্স যা চেক করবে এর সমস্ত উপাদান একই কিনা।
কেন্দ্র থেকে দূরে সূচক i-এর সাবম্যাট্রিক্সে সারির একটি উপাদান থাকবে (n/2 - 1) এবং (n/2 + 1) সূচক (n/2 - 1) থেকে (n/2 + 1)। এছাড়াও কলামের উপাদান (n/2 - 1) এবং (n/2 + 1) সূচক (n/2 - 1) থেকে (n/2 + 1) এর পরিধিতে অন্তর্ভুক্ত করা হয়েছে। 0 থেকে n/2 পর্যন্ত i-এর যেকোনো মানের জন্য সাব-ম্যাট্রিক্সের সমস্ত পরিধি উপাদান একই আছে কিনা তা আমাদের পরীক্ষা করতে হবে।
আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,
উদাহরণ
#include#define n 5using namespace std;int findMaxSideSquare(int matrix[][n]) { int squareLen =1; জন্য (int i =0; i আউটপুট
একটি ম্যাট্রিক্সে বর্গক্ষেত্রের সর্বোচ্চ পার্শ্ব দৈর্ঘ্য 3