vivo 笔试题求解
第一题 N个手机M个WIFI 怎么连接
第二 求员工体检最短路线
(输入
N 几个员工
然后依次输入 N列 每一列 包含一个员工到A B两地的距离,员工选择一个地方去体检)
要求 所有员工的需要走的路径最小且两地体检的人数相差不大于1
import sys if __name__ == "__main__": n = int(sys.stdin.readline().strip()) ans = 0 sum=0 a=0 b=0 div={} rode=[] dics={} for i in range(n): line = sys.stdin.readline().strip() values = map(int, line.split()) #div.append((i,) div[i]=abs(values[0]-values[1]) rode.append((values[0],values[1])) if values[0]<=values[1]: a+=1 ans+=values[0] else: b += 1 ans += values[1] di=sorted(div.items(),key=lambda x:x[1]) # print div # print di # print rode # print a # print b if a-b>1: for i in range(a-b-1): #print rode[di[i][0]][0] ans=ans-rode[di[i][0]][0]+rode[di[i][0]][1] elif b-a>1: for i in range(b-a-1): ans=ans-rode[di[i][0]][1]+rode[di[i][0]][0] print ans求告知那不对
第三题没有记住