কম্পিউটার

সি++ ক্রমানুসারের জোড়া খুঁজে বের করার জন্য প্রোগ্রাম যেখানে ক্রম ন্যূনতম এবং সর্বোচ্চ উপাদান ধারণ করে


ধরুন আমাদের তিনটি সংখ্যা N, M এবং K আছে। সেখানে N অনুভূমিক সারি এবং M উল্লম্ব সারি রয়েছে। আমরা প্রতিটি ঘরে 1 এবং K এর মধ্যে একটি পূর্ণসংখ্যা লিখব এবং A এবং B ক্রম সংজ্ঞায়িত করব, যেমন −

  • 1 থেকে N রেঞ্জের প্রতিটি i এর জন্য, A[i] হল ith সারির সমস্ত উপাদানের নূন্যতম

  • 1 থেকে M রেঞ্জের প্রতিটি j এর জন্য, B[j] হল jth কলামের সমস্ত উপাদানের মধ্যে সর্বাধিক

আমাদের জোড়ার সংখ্যা (A, B) বের করতে হবে। উত্তরটি খুব বড় হলে, ফলাফল মোড 998244353 ফেরত দিন।

সুতরাং, যদি ইনপুটটি N =2 এর মত হয়; M =2; K =2, তাহলে আউটপুট হবে 7, কারণ (A[1], A[2], B[1], B[2]) হল (1,1,1,1), (1,1, 1,2), (1,1,2,1), (1,1,2,2), (1,2,2,2), (2,1,2,2), বা (2,2) ,2,2)।

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

p := 998244353
Define a function power(), this will take a, b, and return (a^b) mod p
From the main method, do the following:
if n is same as 1, then:
   return power(K, m)
if m is same as 1, then:
   return power(K, n)
ans := 0
for initialize t := 1, when t <= K, update (increase t by 1), do:
   ans := (ans + (power(t, n) - power(t - 1, n) + p) mod p * power(K - t + 1, m)) mod p
return ans

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <bits/stdc++.h>
using namespace std;

long p = 998244353;

long power(long a, long b, long ret = 1){
   for (; b; b >>= 1, a = a * a % p)
      if (b & 1)
         ret = ret * a % p;
   return ret;
}
long solve(int n, int m, int K){
   if (n == 1)
      return power(K, m);
   if (m == 1)
      return power(K, n);
   long ans = 0;
   for (long t = 1; t <= K; t++){
      ans = (ans + (power(t, n) - power(t - 1, n) + p) % p * power(K - t + 1, m)) % p;
   }
   return ans;
}
int main(){
   int N = 2;
   int M = 2;
   int K = 2;
   cout << solve(N, M, K) << endl;
}

ইনপুট

2, 2, 2

আউটপুট

7

  1. C++ এ বাইনারি ট্রিতে সর্বাধিক (বা সর্বনিম্ন) খুঁজুন

  2. একটি ম্যাট্রিক্সের ভিত্তি এবং মাত্রা খুঁজে পেতে C++ প্রোগ্রাম

  3. C++ এলিমেন্টের মিডিয়ান খুঁজে বের করার জন্য প্রোগ্রাম যেখানে এলিমেন্টগুলি 2টি ভিন্ন অ্যারেতে সংরক্ষণ করা হয়

  4. একটি অ্যারেতে সর্বাধিক এবং সর্বনিম্ন উপাদান খুঁজে পেতে C# প্রোগ্রাম