from collections import deque
defperson_is_seller(name):return name[-1]=='m'
graph ={}
graph["you"]=["alice","bob","claire"]
graph["bob"]=["anuj","peggy"]
graph["alice"]=["peggy"]
graph["claire"]=["thom","jonny"]
graph["anuj"]=[]
graph["peggy"]=[]
graph["thom"]=[]
graph["jonny"]=[]defsearch(name):
search_queue = deque()
search_queue += graph[name]# This array is how you keep track of which people you've searched before.
searched =[]while search_queue:
person = search_queue.popleft()# Only search this person if you haven't already searched them.ifnot person in searched:if person_is_seller(person):print(person +" is a mango seller!")returnTrueelse:
search_queue += graph[person]# Marks this person as searched
searched.append(person)returnFalse
search("you")