eolymp
bolt
Try our new interface for solving problems
Məsələlər

Genealogic tree

Genealogic tree

На дне рожденья Иры было много родственников, так что знакомство с ними оказалось непростой задачей. Для того, чтобы получить общую картину, возникла идея составить генеалогическое дерево. В сумбурной обстановке как-то так получилось, что дерево оказалось не бинарным, хотя количество вершин было вполне логичным --- \textbf{2^k-1}. --- \textit{Что-то тут не так. } --- \textit{Да ну? } --- \textit{Я предлагаю все перепроверить. } --- \textit{Конкретнее. } --- \textit{Разобьем дерево на связные части по} \textbf{2^i} \textit{вершин и поручим каждому проверить свою часть. } --- \textit{Почему именно так?} --- \textit{Не знаю, люблю степени двойки, и к тому же в сумме будет ровно то, что надо. Хотя тут есть маленькая проблема, это можно сделать кучей способов. } --- \textit{Да, я помню судоку и зачетки. Сколько же на этот раз? } --- \textit{У тебя великолепная память, дай мне несколько минут на подумать}. --- \textit{Лови.} \InputFile В первой строке дано число \textbf{N}=\textbf{2^k-1} --- количество вершин в дереве (\textbf{1} ≤ \textbf{k} ≤ \textbf{12}). В следующей строке дано \textbf{N-1} число. \textbf{a_i} (\textbf{1} ≤ \textbf{a_i} < \textbf{i+1}) означает наличие ребра между вершинами \textbf{i+1} и \textbf{a_i}. Вершины нумеруются с \textbf{1}. \OutputFile Вывести одно число --- количество способов разделить дерево ровно на \textbf{k} связных блоков размеров \textbf{1}, \textbf{2}, \textbf{4}, ..., \textbf{2^k-1}. Каждая вершина должна попасть ровно в один блок.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 256 MiB
Giriş verilənləri #1
7
1 1 2 2 3 3
Çıxış verilənləri #1
4