ধরুন আমাদের 0 থেকে n - 1 পর্যন্ত একটি সংখ্যা হিসাবে প্রতিনিধিত্ব করা n লোক রয়েছে, আমাদের কাছে বন্ধুর টিপলের একটি তালিকাও রয়েছে, যেখানে বন্ধু[i][0] এবং বন্ধু[i][1] বন্ধু। আমাদের প্রত্যেকের অন্তত একজন বন্ধু আছে কিনা তা পরীক্ষা করতে হবে।
সুতরাং, যদি ইনপুটটি n =3 বন্ধু =[ [0, 1], [1, 2] ] এর মত হয়, তবে আউটপুটটি True হবে, যেহেতু ব্যক্তি 0 ব্যক্তি 1 এর বন্ধু, ব্যক্তি 1 ব্যক্তি 0 এর বন্ধু এবং 2, এবং ব্যক্তি 2 হল ব্যক্তি 1 এর বন্ধু।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- লোক :=n আকারের একটি তালিকা, 0 দিয়ে পূর্ণ
- বন্ধুদের প্রতিটি লিঙ্কের জন্য, করুন
- মানুষ[লিঙ্ক[0]] :=সত্য
- মানুষ[লিঙ্ক[1]] :=সত্য
- মানুষের প্রতিটি ব্যক্তির জন্য, করুন
- যদি ব্যক্তি খালি হয়, তাহলে
- মিথ্যে ফেরত দিন
- যদি ব্যক্তি খালি হয়, তাহলে
- সত্য ফেরান
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
class Solution: def solve(self, n, friends): people = [0 for i in range(n)] for link in friends: people[link[0]] = True people[link[1]] = True for person in people: if not person: return False return True ob = Solution() n = 3 friends = [ [0, 1], [1, 2] ] print(ob.solve(n, friends))
ইনপুট
3, [[0, 1],[1, 2]]
আউটপুট
True