Поскольку в графе нет циклов и все вершины соединяются с приемником, просто выберите любой начальный узел и начните ходить в случайном порядке. Когда вы не можете продолжать идти, вы находитесь у раковины, не более чем за n шагов.
После того, как вы прошли n шагов (или меньше, и вы не можете продолжить), поскольку проблема не гарантирует, что есть раковина, вы должны проверить, если вы в одном. Это добавляет еще O(n)
. Таким образом, проблема O(2 n) = O(n)