সমস্যা বিবরণ
nটি সরল রেখা দেওয়া থাকলে, তাদের মধ্যে সর্বোচ্চ কতটি ইন্টারসেকশন পয়েন্ট তৈরি হতে পারে তা বের করুন। ধরে নেওয়া হচ্ছে কোনো তিনটি রেখা একই বিন্দুতে মিলিত নয় এবং কোনো দুটি রেখা সমান্তরাল নয়।
সমাধানের পদ্ধতি
প্রতিটি রেখা অন্য সব রেখার সাথে একটা করে ইন্টারসেক্ট করতে পারে। মোট ইন্টারসেকশন = nC2 = n(n-1)/2।
C++ কোড উদাহরণ
#include <bits/stdc++.h>
using namespace std;
#define ll long int
ll countMaxIntersect(ll n) {
return (n) * (n - 1) / 2;
}
int main() {
ll n = 8;
cout << countMaxIntersect(n) << endl;
return 0;
}
আউটপুট
28
ব্যাখ্যা
৮টি রেখা: 8×7/2 = 28টি ইন্টারসেকশন পয়েন্ট।
জটিলতা
- সময়: O(1)
- স্থান: O(1)