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

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]

#滴滴#
全部评论

相关推荐

点赞 评论 收藏
分享
Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
评论
点赞
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务