order. Первое число становится корнем, каждое следующее спускается от корня влево, если оно меньше текущей вершины, и вправо, если больше, пока не найдёт свободное место.
Сколько существует **других** порядков вставки тех же чисел, после которых получится в точности такое же дерево? Сам исходный порядок order не считается. Ответ может быть большим — верните его по модулю 10⁹ + 7.order=[2, 3, 1] → 1
Корень 2, у него дети 1 и 3. Тот же результат даёт только порядок [2, 1, 3].
order=[4, 2, 1, 3, 5] → 7
Первым всегда идёт 4, 2 должно опережать 1 и 3, а 5 можно поставить куда угодно после 4. Всего 8 порядков, без исходного — 7.
order=[3, 2, 1] → 0
Дерево — цепочка, каждое число обязано идти после предыдущего, других порядков нет.
len(order) ≤ 1000order[i] ≤ 10⁵order различныorder=[2, 3, 1]
1
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 72 теста на сервере, включая скрытые.