offices офисов с номерами от 0 до offices - 1, и все они заполнены до отказа. Сотрудники подали заявки на переезд: moves[i] = [from, to] — кто-то хочет переехать из офиса from в офис to.
Набор одобренных заявок допустим, только если в каждый офис въезжает ровно столько людей, сколько из него выезжает. Заявка, где from = to, ничего не меняет.
Верните наибольшее число заявок, которые можно одобрить одновременно.offices=3, moves=[[0, 1], [1, 2], [2, 0], [1, 0]] → 3
Переезды 0 → 1, 1 → 2, 2 → 0 образуют круг, и все офисы остаются полными. Добавить ещё и 1 → 0 нельзя: в офис 0 въедут двое, а выедет один.
offices=2, moves=[[0, 0], [0, 1]] → 1
Переезд внутри одного офиса ничего не меняет, его можно одобрить. Переезд 0 → 1 одобрить нельзя: обратного нет.
offices=4, moves=[[0, 1], [2, 3]] → 0
offices=3, moves=[[0, 1], [1, 2], [2, 0], [1, 0]]
3
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 56 тестов на сервере, включая скрытые.