滴滴第二題 python

2021-09-27 07:03:53 字數 1057 閱讀 5631

太菜了,而且腦子不清楚,結束了才發現求結果時是man[i][0],不是i...

2020滴滴,n人m機器,每個人能開兩個,有個效益值。每台機器只能乙個人,乙個人只能操作一台,求最大效益。

輸入n,m 人數,機器數

下面n行每行為

機器1,機器2,效益

沒想到簡單的方法,用乙個mach列表記錄每台機器可以使用的人,用man記錄每個人的編號(同mach中)和效益,按效益從大到小排列,able是按原始順序記錄的效益(方便查詢)

從效益最高的人開始安排,如果可以開兩台,就選擇第二高的效益低的那台,盡可能使高效益的都能用上。

import sys

n,m=list(map(int, input().split()))

man =

able = [0 for _ in range(n)]

mach = [ for _ in range(m)]

for i in range(n):

nlist = list(map(int, input().split()))

if not man:

else:

flag = 0

for j in range(len(man)):

if man[j][1]c:

c = able[people]

if c[0]>c[1]:

mach[pos[1]] =

mach[pos[0]].remove(man[i][0])

else:

mach[pos[0]] =

mach[pos[1]].remove(man[i][0])

res += able[man[i][0]]

elif len(pos)==1:

mach[pos[0]] =

res += able[man[i][0]]

print(res)

# test input

# 3 3

# 1 2 1

# 1 2 2

# 1 2 3

# target:5

上機第二題

題目 2 陣列與函式的綜合應用 已知 int a 5 b 5 編寫程式查詢陣列中是否存在某個指定元素 將陣列a和陣列b中的素數不重不漏地合併到 乙個vector容器c中,然後按照下標訪問的方式手動對容器c中的資料,按從小到大順序重新 排序。要求依次實現 編寫順序查詢法函式和折半查詢法函式,分別在陣列...

華為上機第二題

輸入 n a b n表示有多少個城市,a表示要出發的城市,b表示要到達的城市 接著輸入n n的矩陣,表示任意兩個城市是否連通,連通用1表示,否則用0表示 如 3 0 2 1 1 1 1 1 1 1 1 1 輸出 從a到b共有多少條路。include include using namespace s...

堆疊實驗第二題

設計演算法判斷乙個算術表示式的圓括號是否正確配對 include stdio.h include malloc.h define maxlen 100 typedef struct nodeseqstack 建立空棧 seqstack setstack 順序棧置空演算法 seqstack inint...