临沂做网站企业,做电商网站的感想,如何建设网站网站,网站备案幕布怎么申请结对编程#xff08;200#xff09;
某部门计划通过结队编程来进行项目开发#xff0c;部门有N名员工#xff0c;每个员工有唯一的职级#xff0c;三个员工为一组#xff0c;结队分组规则如下#xff1a;选出序号为i,j,k的员工#xff0c;职级分别为level[i], level[j…结对编程200
某部门计划通过结队编程来进行项目开发部门有N名员工每个员工有唯一的职级三个员工为一组结队分组规则如下选出序号为i,j,k的员工职级分别为level[i], level[j], level[k]满足level[i]level[j]level[k] 或者 level[i] level[j] level[k] 其中0ijkn计算可能组合的小组数量同一员工可以参加多个小组
输入描述 第一行员工总数n【1,6000】 第二行按序号依次排列的员工的职级level[i] 在【1,10^5】 输出描述 可能结对的小组数量
示例1 输入 4 1 2 3 4 输出 4 说明 1,2,3(1,2,4) (1,3,4) (2,3,4)
示例2 输入 3 5 4 7 输出 0
思路
找到满足两个条件的小组 条件10ijkn;条件2level[i]level[j]level[k] 或者 level[i] level[j] level[k] 两组对应相乘 n int(input())
nums [int(x) for x in input().split( )]
compare_count {}
for i in range(n):compare_count[i] [0,0,0,0]result 0
k1
while(True):if(kn):breakelse :for j in range(k):if (nums[j] nums[k]) : compare_count[k][0] 1elif (nums[j] nums[k]) :compare_count[k][1] 1k1for i in range(n-2, 0,-1):for j in range(n-1,i,-1):if (nums[j] nums[i]) : compare_count[i][2] 1elif (nums[j] nums[i]) : compare_count[i][3] 1for i in range(n):temp compare_count[i]result temp[0] * temp[3] temp[1] * temp[2]print(result)