n个红球,m个篮球,k个黄球,相同颜色的不相邻,多少种方法
动态规划,还行
```
num=raw_input().split(" ")
n,m,k=int(num[0]),int(num[1]),int(num[2])
result=[]
for i in range(n+1):
tem0=[]
for j in range(m+1):
tem1=[]
for p in range(k+1):
tem2=[]
for q in range(3):
tem2.append(0)
tem1.append(tem2)
tem0.append(tem1)
result.append(tem0)
result[1][0][0][0]=1
result[0][1][0][1]=1
result[0][0][1][2]=1
result[1][1][0][0]=1
result[1][1][0][1]=1
result[1][0][1][2]=1
result[1][0][1][0]=1
result[0][1][1][1]=1
result[0][1][1][2]=1
result[1][1][1][0]=2
result[1][1][1][1]=2
result[1][1][1][2]=2
for i in range(0,n+1):
for j in range(0,m+1):
for p in range(0,k+1):
if result[i][j][p][0]==0:
result[i][j][p][0]+=result[i-1][j][p][1]+result[i-1][j][p][2]
if result[i][j][p][1]==0:
result[i][j][p][1]+=result[i][j-1][p][0]+result[i][j-1][p][2]
if result[i][j][p][2]==0:
result[i][j][p][2]+=result[i][j][p-1][1]+result[i][j][p-1][0]
print result[n][m][k][0]+result[n][m][k][1]+result[n][m][k][2]
```