def 安全检查(可用, 最大需求, 分配, 进程): n = len(进程) 工作 = 可用.copy() 完成 = [False] * n 安全序列 = [] 需求 = [] for i in range(n): 需求.append([最大需求[i][j] - 分配[i][j] for j in range(3)]) while True: 找到 = False for i in range(n): if not 完成[i] and all(需求[i][j] <= 工作[j] for j in range(3)): for j in range(3): 工作[j] += 分配[i][j] 完成[i] = True 安全序列.append(进程[i]) 找到 = True break if not 找到: break return all(完成), 安全序列 def 主函数(): 资源 = list(map(int, input().split())) 进程 = [] 最大需求 = [] 分配 = [] for _ in range(4): 行 = input().split() 进程.append(行[0]) 最大需求.append(list(map(int, 行[1:4]))) 分配.append(list(map(int, 行[4:7]))) 可用 = 资源.copy() for i in range(4): for j in range(3): 可用[j] -= 分配[i][j] 安全状态, 序列 = 安全检查(可用, 最大需求, 分配, 进程) if 安全状态: print(" ".join(序列)) else: print("false") if __name__ == "__main__": 主函数()