太菜了,而且腦子不清楚,結束了才發現求結果時是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...