[HNOI2004]树的计数
一个有 n 个结点的树,设它的结点分别为 v1,v2,…,vn,已知第 i 个结点 vi 的度数为 di,问满足这样条件的不同的树有多少棵。
给定 n 以及 d1,d2,…,dn,请输出满足 d(vi)=di 的树的个数。
输入格式
第一行是一个正整数 n,表示树有 n 个结点。
第二行有 n 个数,第 i 个数表示 di,即树的第 i 个结点的度数。
输出格式
一行一个整数,表示满足条件的树有多少棵。
样例输入
4
2 1 2 1
样例输出
2
样例解释
度数序列为 2,1,2,1,说明 v1 与 v3 是链的中间两点,v2 与 v4 是链的两个端点。满足条件的树共 2 棵:
v2−v1−v3−v4和v4−v1−v3−v2.
数据范围
- 1≤n≤150;
- 输入数据保证满足条件的树不超过 1017 棵。
来源与许可
本题为 HNOI 2004 试题「树的计数」,题面与测试数据整理自 BZOJ 1211。
样例 1
输入
4
2 1 2 1
输出
2