员工去参加一个需要合作的知识竞赛,每个员工均有一个推理能力值Ai,以及一个阅读能力值Bi..."/>
编程题01:部门要选两个员工去参加一个需要合作的知识竞赛,每个员工均有一个推理能力值Ai,以及一个阅读能力值Bi...
题目:
最近部门要选两个员工去参加一个需要合作的知识竞赛,每个员工均有一个推理能力值Ai,以及一个阅读能力值Bi。如果选择第i个人和第j个人去参加竞赛,那么他们在阅读方面所表现出的能力为X=(Bi+Bj)/2,他们在推理方面所表现出的能力为(Ai+Aj)/2。现在需要最大化他们表现较差一方面的能力,即让min(X,Y) 尽可能大,问这个值最大是多少。
输入示例:
3
2 2
3 1
1 3
输出:
2.0
代码:
# 输入员工数
n = int(input(""))
# 创建X和Y数组存放员工的推理能力和阅读能力
X = [0.0 for k in range(n)]
Y = [0.0 for t in range(n)]
# 输入第i个员工的推理和阅读能力
for i in range(0, n):x = float(input("Enter x:"))y = float(input("Enter y:"))X[i] = xY[i] = y
print(X)
print(Y)
# 任意选择两个员工 计算阅读能力和推理能力 创建一个数组存放min(X,Y)
sum = int(((n - 1) * n) / 2)
MIN = [0.0 for r in range(sum)]
v = 0
for p in range(0, n):for q in range(0, n):# p和q不是同一人if q>p and v<3:A = (X[p] + X[q]) / 2B = (Y[p] + Y[q]) / 2print(p,q)min_ = min(A, B)MIN[v] = min_v=v+1
# 找出数组MIN中最大值
max_ = MIN[0]
print(MIN)
print(max_)
for s in range(0, sum):if max_ < MIN[s]:max_ = MIN[s]
print(max_)
更多推荐
编程题01:部门要选两个员工去参加一个需要合作的知识竞赛,每个员工均有一个推理能力值Ai,以及一个阅读能力值Bi...
发布评论