সমস্যা
একই ডাইমেনশনের দুটি ম্যাট্রিক্স: একটি রো-মেজর অর্ডারে ভরা, অন্যটি কলাম-মেজর অর্ডারে। তাদের যোগফলের ম্যাট্রিক্সের ট্রেস (ডায়াগোনালের যোগফল) বের করুন।
গাণিতিক ফর্মুলা
রো-মেজর: A[i][j] = i*C + j + 1
কলাম-মেজর: B[i][j] = j*R + i + 1
ট্রেস = Σ (A[i][i] + B[i][i]) for i=0 to min(R,C)-1
= Σ (i*C + i + 1 + i*R + i + 1) = Σ (i*(R+C+2) + 2)
এটি সরাসরি ফর্মুলা দিয়ে O(1)-এ করা যায়।
C++ কোড (সিম্পল লুপ)
#include <bits/stdc++.h>
using namespace std;
int calculateMatrixTrace(int row, int col) {
int sum = 0;
for (int i=0; i
আউটপুট
384