আমাদের তিনটি অ্যারে দেওয়া হয়েছে A[], B[] এবং C[]। লক্ষ্য হল এই অ্যারের উপাদানগুলির সমস্ত ট্রিপলেট খুঁজে বের করা যেমন A[i]
উদাহরণ দিয়ে বোঝা যাক।
ইনপুট −
A[]={1,4,5 } B = { 0,2,3 } C = { 0,6,7 }
আউটপুট − ট্রিপলেটের সংখ্যা − 4
ব্যাখ্যা −
Triplets such that A[i]<B[j]<C[k] (1,2,6) , (1,2,7) , (1,3,6) , (1,3,7). Total 4 triplets.
ইনপুট
A[]={7,8,9} B = { 4,5,6 } C = { 1,2,3 }
আউটপুট − ট্রিপলেটের সংখ্যা:0
ব্যাখ্যা −
No Triplets that satisfy A[i]<B[j]<C[k]সন্তুষ্ট করে এমন কোনো ট্রিপলেট নেই
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
-
আমরা এলোমেলো সংখ্যার সাথে শুরু করা সমান দৈর্ঘ্যের A[], B[] এবং C[] পূর্ণসংখ্যার অ্যারে নিই।
-
তাদের দৈর্ঘ্য সংরক্ষণ করতে পরিবর্তনশীল N নিন।
-
ফাংশন countTriplets(int a[],int b[],int c[],int n) তিনটি অ্যারেকে তাদের একই দৈর্ঘ্য n সহ ইনপুট হিসাবে নেয় এবং প্রদত্ত শর্ত পূরণ করে এমন ট্রিপলেট প্রদান করে।
-
প্রতিটি অ্যারের জন্য তিনটি লুপ ব্যবহার করে ট্র্যাভার৷
-
সবচেয়ে বাইরের লুপ 0<=i
-
তুলনা করুন যদি a[i]
-
সমস্ত লুপ গণনার শেষে ট্রিপলেট থাকবে যেমন a[i]
-
ফলাফল হিসাবে রিটার্ন গণনা।
উদাহরণ
#include <bits/stdc++.h> using namespace std; int countTriplets(int a[],int b[],int c[], int n){ int count = 0; for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++){ for (int k = 0; k < n; k++){ if(a[i]<b[j] && b[j]<c[k]) { count++; } } } } return count; } int main(){ int A[]={ 1,2,3}; int B[]={ 2,3,2}; int C[]={ 4,3,1}; int N=3; //length of array cout <<endl<< "Number of triplets : "<<countTriplets(A,B,C,N); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেNumber of triplets : 6