python,90分,差第七个测试点,感谢
查看原帖
python,90分,差第七个测试点,感谢
838720
asdfjkd楼主2024/3/3 10:27

use = []

cost = []

#机器数, 工件数 最长时间20202 m, n = map(int, input().split())

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

for i in range(n):

use.append(list(map(int, input().split())))

for i in range(n):

cost.append(list (map(int, input().split())))

T = 0

machi = [[0 for i in range(10000)] for j in range(m)]

last = [0 for i in range(n)]

#机器最后加工时间

last_time = [0 for i in range(n)]

step = 0

while step < m*n:

#加工工件号
x = work[step]-1
#加工工件的工序号
num_work = last[x]
#加工机器号
machi_work = use[x][num_work]-1
#加工工件耗时
cost_time = cost[x][num_work]
t = 0
#下一步
step += 1
last[x] += 1
for i in range(last_time[x], last_time[x]+10000):
    if machi[machi_work][i] == 0:
        t += 1
    else:
        t = 0

    if t == cost_time:
        last_time[x] = i + 1
        for j in range(i, i-t, -1):
            machi[machi_work][j] = 1
        if i > T:
            T = i
        break

print(T+1)

2024/3/3 10:27
加载中...