这是一道很显然的模拟题
就是里面有些操作有点繁杂
代码(具体讲解):
//nma[i][j](need machine):第i个零件第j个工序使用的机器;
//tim[i][j](time):第i个零件第j个工序所需的时间;
//st[i][j](state):第j分钟第i个机器的状态,0表示空闲,1表示不空闲;
//ord[](order):给定的安排顺序;
//nnu[i](now number):当前第i个零件的工序号;
//las[i](last time):第i个零件前一道工序完成时的时间;
#include<cstdio>
#include<algorithm>
using namespace std;
int nma[21][21],tim[21][21],ord[450],n,m,nnu[450],las[25],cur;//cur一定要开全局变量(本蒟蒻因此RE了两次)
bool st[21][505];
void input()//输入
{
scanf("%d%d",&m,&n);
for(int i=1;i<=n*m;i++)
scanf("%d",&ord[i]);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%d",&nma[i][j]);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%d",&tim[i][j]);
}
void work(){
for(int i=1;i<=n*m;i+