题面:
题解:
(n-2)!/ ((d1 - 1)! * (d2 - 1)! * …(dn - 1) !)
但是还要判断是否能成为一棵树。
代码:
def main():
fac=[0 for i in range(200)]
fac[0]=1
for i in range(1,200):
fac[i]=fac[i-1]*i
n=int(input())
b=list(map(int,input().split()))
if n==1:
if b[0]==0:
print(1)
else :
print(0)
return
ans=fac[n-2]
res=0
for x in b:
if x==0:
print(0)
return
ans=ans//fac[x-1]
res=res+x
if res!=2*n-2:
print(0)
return
print(ans)
main()