0 до n - 1 и соединены тропами так, что получается дерево: между любыми двумя стоянками ровно один путь без повторов. heights[i] — высота стоянки i, а links[j] = [a, b] — тропа между стоянками a и b.
**Маршрутом** назовём простой путь по тропам, у которого:
- начальная и конечная стоянки на одной высоте;
- ни одна стоянка на пути не выше концов.
Одна стоянка сама по себе тоже маршрут. Путь и он же в обратную сторону — один и тот же маршрут.
Верните количество различных маршрутов.heights=[2, 1, 2, 3], links=[[0, 1], [1, 2], [2, 3]] → 5
Четыре маршрута из одной стоянки и ещё один: 0 → 1 → 2. Его концы на высоте 2, а стоянка 1 ниже. Маршрут к стоянке 3 не подходит: она выше и единственная на своей высоте.
heights=[1, 4, 1], links=[[0, 1], [1, 2]] → 3
Стоянки 0 и 2 на одной высоте, но путь между ними проходит через более высокую стоянку 1. Остаются только три маршрута из одной стоянки.
heights=[5, 5, 1], links=[[0, 2], [1, 2]] → 4
heights=[2, 1, 2, 3], links=[[0, 1], [1, 2], [2, 3]]
5
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 83 теста на сервере, включая скрытые.