prufer序列。。。好虚啊。。。
1 def f(x): 2 ret=1 3 for i in range(1,x+1): 4 ret=ret*i 5 return ret 6 7 n=(int)(input()) 8 d=[] 9 m=0 10 for i in range(0,n): 11 x=(int)(input()) 12 if x!=-1: 13 d.append(x) 14 else : 15 m=m+1 16 left=n-2 17 for i in range(0,n-m): 18 left=left-(d[i]-1) 19 ans=f(n-2) 20 for i in range(0,n-m): 21 ans=ans/f(d[i]-1) 22 ans=ans/f(left)*(m**left) 23 print((int)(ans))