This was one of the questions asked in on-site interview of Google.
Given input is source and destination node of a directed graph which may have cycles. Check if these two nodes are "necessarily connected". Return true if all paths from source lead to destination and return false if atleast 1 path does not lead to destination.