people человек, пронумерованных от 0 до people - 1. Люди из списка informed уже знают важную новость. Кроме того, есть односторонние каналы общения: по i-му каналу человек tells_from[i] пересказывает всё, что знает, человеку tells_to[i] (но не наоборот). Новость распространяется по каналам сколько угодно шагов.
Вы можете добавлять новые односторонние каналы между любыми двумя людьми. Найдите наименьшее число новых каналов, после добавления которых новость дойдёт до каждого.people=5, informed=[0], tells_from=[0, 2, 3], tells_to=[1, 3, 2] → 2
Новость от 0 доходит до 1. Люди 2 и 3 пересказывают её друг другу, поэтому хватит одной связи от кого-то, кто уже знает, к 2 или 3. Человек 4 ни с кем не связан — для него нужна ещё одна связь. Итого 2.
people=4, informed=[3], tells_from=[3, 1, 2], tells_to=[1, 2, 0] → 0
Цепочка 3 → 1 → 2 → 0 уже доносит новость до всех, новые связи не нужны.
people=3, informed=[1], tells_from=[], tells_to=[] → 2
people=5, informed=[0], tells_from=[0, 2, 3], tells_to=[1, 3, 2]
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 51 тест на сервере, включая скрытые.