-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathm1462.py
31 lines (23 loc) · 837 Bytes
/
m1462.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class Solution:
def checkIfPrerequisite(self, numCourses: int, prerequisites: List[List[int]], queries: List[List[int]]) -> List[bool]:
prereqs = defaultdict(set)
for a, b in prerequisites :
prereqs[b].add(a)
output = []
for i, (a, b) in enumerate(queries) :
to_visit = [b]
visited = set()
while to_visit :
x = to_visit.pop()
if x in visited :
continue
visited.add(x)
if x == a :
output.append(True)
break
for y in prereqs[x] :
if y not in visited :
to_visit.append(y)
if len(output) <= i :
output.append(False)
return output