携程笔试第二题 是不是人工阅卷!!!
第一题sql 第二题贝叶斯 第三题最小数组和
我这...........
死在输入输出一万次了 本地代码是对的 输出写错还能算分吗?
另外:球球第一题sql和第三题ac答案
!!!!~~~第二题代码如下:
import sys
n = int(sys.stdin.readline().strip())
label = [int(i) for i in sys.stdin.readline().strip().split()]
data = [[] for _ in range(5)]
for i in range(n):
s = sys.stdin.readline().strip().split()
for j in range(5):
data[j].append(int(s[j]))
target = [int(i) for i in sys.stdin.readline().strip().split()]
for i in range(2, 5):
x = data[i]
sx = sorted(x)
l1 = sx[n//3]
l2 = sx[n*2//3]
nx = []
for j in range(len(x)):
if x[j] < l1:
nx.append(0)
elif x[j] < l2:
nx.append(1)
else:
nx.append(2)
data[i] = nx
if target[i] < l1:
target[i] = 0
elif target[i] < l2:
target[i] = 1
else:
target[i] = 2
n1 = sum(label)
py = 1.0 * n1/n
pc = 1
for i in range(5):
x = 0.0
for j in range(n):
if label[j]==1 and data[i][j]==target[i]:
x += 1
pc *= x/n1
p1 = py*pc
n0 = n-n1
py = 1.0-py
pc = 1
for i in range(5):
x = 0.0
for j in range(n):
if label[j] == 0 and data[i][j]== target[i]:
x += 1
pc *= x/n0
p0 = py*pc
p = p1/p0
print('%.3f'%(p/2))
#携程##内推##笔试题目##实习##春招#n = int(sys.stdin.readline().strip())
label = [int(i) for i in sys.stdin.readline().strip().split()]
data = [[] for _ in range(5)]
for i in range(n):
s = sys.stdin.readline().strip().split()
for j in range(5):
data[j].append(int(s[j]))
target = [int(i) for i in sys.stdin.readline().strip().split()]
for i in range(2, 5):
x = data[i]
sx = sorted(x)
l1 = sx[n//3]
l2 = sx[n*2//3]
nx = []
for j in range(len(x)):
if x[j] < l1:
nx.append(0)
elif x[j] < l2:
nx.append(1)
else:
nx.append(2)
data[i] = nx
if target[i] < l1:
target[i] = 0
elif target[i] < l2:
target[i] = 1
else:
target[i] = 2
n1 = sum(label)
py = 1.0 * n1/n
pc = 1
for i in range(5):
x = 0.0
for j in range(n):
if label[j]==1 and data[i][j]==target[i]:
x += 1
pc *= x/n1
p1 = py*pc
n0 = n-n1
py = 1.0-py
pc = 1
for i in range(5):
x = 0.0
for j in range(n):
if label[j] == 0 and data[i][j]== target[i]:
x += 1
pc *= x/n0
p0 = py*pc
p = p1/p0
print('%.3f'%(p/2))