outb = {1: [2],
2: [3],
3: [2]}
def BFS(v1, v2):
parsed = []
toParse = [v1]
current = v1
while len(toParse) > 0:
while current in parsed:
current = toParse.pop(0)
if current not in outb:
return False
if v2 in outb[current]:
return True
toParse += outb[current]
parsed.append(current)
return False
print(BFS(2, 1))
b3V0YiA9IHsxOiBbMl0sCiAgMjogWzNdLAogIDM6IFsyXX0KIApkZWYgQkZTKHYxLCB2Mik6CiAgICBwYXJzZWQgPSBbXQogICAgdG9QYXJzZSA9IFt2MV0KICAgIGN1cnJlbnQgPSB2MQogCiAgICB3aGlsZSBsZW4odG9QYXJzZSkgPiAwOgogCiAgICAgICAgd2hpbGUgY3VycmVudCBpbiBwYXJzZWQ6CiAgICAgICAgICAgIGN1cnJlbnQgPSB0b1BhcnNlLnBvcCgwKQogCiAgICAgICAgaWYgY3VycmVudCBub3QgaW4gb3V0YjoKICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKICAgICAgICBpZiB2MiBpbiBvdXRiW2N1cnJlbnRdOgogICAgICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgICAgdG9QYXJzZSArPSBvdXRiW2N1cnJlbnRdCiAgICAgICAgcGFyc2VkLmFwcGVuZChjdXJyZW50KQogCiAgICByZXR1cm4gRmFsc2UKIApwcmludChCRlMoMiwgMSkp