for循环condition不会更新!!!
一开始写了个函数找每个工序的开始时间:
int findStart(int machineId, int workpieceId, int time)
{
int start = last[workpieceId] + 1;
int i=start;
for (int i = start; i < time + start; i++)
{
if (schedule[machineId][i] == 1) start = i;
}
for (int j = start; j < time + start; j++) schedule[machineId][j] = 1;
return time + start - 1;
}
但是发现结果不对,加一减一都不对,后来让输出了一些中间变量,发现了问题所在:
for (int j = start; j < time + start; j++) schedule[machineId][j] = 1;
return time + start - 1;
}
condition部分我本意是想让它随着start的改变自动更新的,算是一种取巧,但我发现condition会在第一次进入for语句就被计算好并且不会改变......
最后换成while就ac了
基础没打好了属于是?