头条滴滴:小球排列组合数

import sys
if __name__=='__main__':
    p,q,r = map(int,sys.stdin.readline().strip().split())
    dp = [[[[0 for k in range(r+1)]for j in range(q+1)]for i in range(p+1)]for s in range(3)]
    # 如果最后一个球是P型,P型球的数量是1而其他颜色的球数是0,排列的数量是1。
    if (p >= 1 ): 
        dp[0][1][0][0]=1; 
    # 如果最后一个球是Q型,Q型球的数量是1而其他颜色的球数是0,排列的数量是1。 
    if (q >= 1): 
        dp[1][0][1][0]=1 
    # 如果最后一个球是R型,R型球的数量是1而其他颜色的球数是0,排列的数量是1。
    if ( r>= 1 ): 
        dp[2][0][0][1]=1
    for i in range(0,p+1):
        for j in range(0,q+1):
            for k in range(0,r+1):
                if(i>0):
                    dp[0][i][j][k]=max(dp[0][i][j][k],dp[1][i-1][j][k]+dp[2][i-1][j][k])
                if(j>0):
                    dp[1][i][j][k]=max(dp[1][i][j][k],dp[0][i][j-1][k]+dp[2][i][j-1][k])
                if(k>0):dp[2][i][j][k]=max(dp[2][i][j][k],dp[0][i][j][k-1]+dp[1][i][j][k-1])
#     print(dp[0][p][q][r])
#     print(dp[1][p][q][r])
#     print(dp[2][p][q][r])
    result = dp[0][p][q][r]+dp[1][p][q][r]+dp[2][p][q][r]

#滴滴#
全部评论

相关推荐

牛客410815733号:这是什么电影查看图片
点赞 评论 收藏
分享
点赞 10 评论
分享
牛客网
牛客企业服务