n функций с номерами от 0 до n - 1. Пара [a, b] из списка calls означает, что функция a вызывает функцию b.
В функции faulty нашли ошибку. Подозрительными считаются сама faulty и все функции, до которых она может дойти по цепочке вызовов. Их хотят удалить из проекта целиком.
Но удалять группу можно только если ни одна функция вне её не вызывает ни одну функцию из группы — иначе проект сломается. В таком случае не удаляют ничего.
Верните номера функций, которые останутся в проекте, в любом порядке.n=5, faulty=1, calls=[[0, 1], [1, 2], [2, 3], [4, 0]] → [0, 1, 2, 3, 4]
Под подозрением 1, 2 и 3 (их вызывает 1 напрямую или через 2). Но функция 0 не подозрительна и вызывает 1, поэтому удалить группу нельзя — остаются все.
n=6, faulty=2, calls=[[2, 3], [3, 4], [0, 1], [1, 5]] → [0, 1, 5]
Подозрительны 2, 3 и 4, и снаружи их никто не вызывает. Их удаляют, остаются 0, 1 и 5.
n=2, faulty=0, calls=[[1, 0]] → [0, 1]
calls различныn=5, faulty=1, calls=[[0, 1], [1, 2], [2, 3], [4, 0]]
[0, 1, 2, 3, 4]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 79 тестов на сервере, включая скрытые.