লাইন ইকুয়েশন y = mx + c দেওয়া আছে। একটি অ্যারে, m, c দিয়ে কতগুলো অর্ডার্ড পয়েন্ট জোড়া (arr[i], arr[j]) এই ইকুয়েশন পূরণ করে, তা বের করতে হবে।
উদাহরণ: arr=[1,2,3], m=1, c=1 হলে আউটপুট ২। জোড়া: (1,2) এবং (2,3)।
অ্যালগরিদম
- অ্যারে, m, c আরম্ভ করুন
- দুটি নেস্টেড লুপ (i, j) দিয়ে সব অর্ডার্ড পয়েন্ট যাচাই করুন
- যদি arr[j] == m*arr[i] + c হয়, count++
- count রিটার্ন করুন
ইমপ্লিমেন্টেশন
#include <bits/stdc++.h> using namespace std; bool isSatisfyingLineEquation(int arr[], int i, int j, int m, int c) { if (i == j) return false; return arr[j] == m * arr[i] + c; } int getOrderedPointsPairCount(int arr[], int n, int m, int c) { int count = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (isSatisfyingLineEquation(arr, i, j, m, c)) count++; } } return count; } int main() { int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int n = 10; int m = 1, c = 1; cout << getOrderedPointsPairCount(arr, n, m, c) << endl; return 0; }আউটপুট
9