রুমের তালিকা rooms দেওয়া আছে, যেখানে rooms[i] হলো রুম i-তে পাওয়া চাবি গুলো। রুম ০ খোলা আছে। সব রুম খোলা সম্ভব কিনা যাচাই করুন।
উদাহরণ: rooms = [[2,0],[3],[1],[]] → আউটপুট True।
সমাধানের ধাপগুলো:
- DFS/BFS দিয়ে রুম ০ থেকে শুরু করে সব রুম ভিজিট করুন।
- ভিজিটেড রুমের সংখ্যা == মোট রুম হলে
True।
উদাহরণ
class Solution:
def solve(self, rooms):
n = len(rooms)
ready = [0]
seen = set()
while ready:
u = ready.pop()
seen.add(u)
for v in rooms[u]:
if v not in seen:
ready.append(v)
return len(seen) == n
ob = Solution()
rooms = [
[2, 0],
[3],
[1],
[]
]
print(ob.solve(rooms))
ইনপুট
rooms = [[2, 0],[3],[1],[]]
আউটপুট
True