এই সমস্যায়, আমাদেরকে একটি সংখ্যা n দেওয়া হয়েছে যা একটি বৃত্তের প্রান্তে থাকা n বাক্সগুলিকে বোঝায়। এবং দুটি পূর্ণসংখ্যা, a এবং b নিয়ে গঠিত প্রতিটি প্রশ্ন প্রশ্ন রয়েছে। আমাদের কাজ হল একটি চেনাশোনা বাক্সে যোগদান করা সম্ভব কিনা তা পরীক্ষা করার জন্য প্রশ্নের সমাধান করার জন্য একটি প্রোগ্রাম তৈরি করা৷
সমস্যা বর্ণনা − প্রতিটি প্রশ্নের সমাধান করার জন্য, আমাদের একটি রড দ্বারা বক্স a এবং বক্স b সংযোগ করার সম্ভাবনা এমনভাবে পরীক্ষা করতে হবে যাতে শেষ ক্যোয়ারী থেকে বক্সগুলির ছেদকে বিরক্ত করা না যায়। আমাদের সম্ভব প্রিন্ট করতে হবে অথবা সম্ভব নয় শর্তের উপর ভিত্তি করে।
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
ইনপুট
n = 6 Q = 3 Queries = {{1, 3}, {2, 5}, {4, 5}}
আউটপুট
Possible Not possible Possible
ব্যাখ্যা
কঠিন লাইন হল রড যা সংযুক্ত করা যায়, যেখানে ড্যাশড লাইন হল সেই লাইন যা সংযোগ করা যায় না।
সমাধান পদ্ধতি
সমস্যার একটি সহজ সমাধান হল প্রতিটি প্রশ্নের জন্য কোয়েরির সমাধান খুঁজে বের করার মাধ্যমে, আমরা প্রদত্ত বক্স বক্স a এবং বক্স b সংযোগ করা যায় কিনা তা খুঁজে বের করব। এর জন্য, আমাদের শেষ ক্যোয়ারির মানগুলিকে রেফারেন্স পয়েন্ট হিসাবে রাখতে হবে এবং তারপরে সংযোগটি সম্ভব কি না তা পরীক্ষা করতে হবে৷
আসুন বাক্সগুলি বিবেচনা করি a এবং b কোয়েরির (i-1) রেফারেন্স রেফারেন্স 1 এবং ref2 হিসাবে। তারপর বিন্দু a এবং b রডের বিপরীত দিকে আছে কিনা তা সন্ধান করুন।
এর জন্য, আমরা দুটি শর্ত পরীক্ষা করব,