模拟题,思路非常淳朴:
首先对每个工件,要记录:
- 1-m工序对应的机器号
- 1-m工序对应的所需时间
- 在解决过程会发现,可以记录下这个工件最后一次处理的工序号(初始是0,表示未处理),下一次可以直接在这个工序后一工序开始处理
- 同时记录下最后一次处理完的工序的时间点,因为每次找空档时也要满足在这个时间点后
对于每个机器,我用链表记录了每次操作所用的时间段。
然后遍历工件处理顺序时,就根据该次这个工件要处理的工序号和上一次操作的时间点,在机器上寻找可用的空时间段。
这种模拟题思想都非常朴素,重要的是读懂题意,注重细节,并且写好代码。对于这种模拟题,我是靠着写注释苟活的,把每一个变量的含义写清楚,不导致混乱,把每一个关键步骤解释清楚。因为这种模拟题写错,一般都是细节问题,反正我几乎每次都不能第一遍过,这时候写注释就非常重要,因为思路往往是对的,可能是代码上细节问题。</