把所有的木头按照长度大的在前面,长度小的在后面,长度一样的重的在前面,轻的在后面进行排序.
然后从第一个开始加工,setuptime加1,如果一个被加工了,我们往后面看,把最近的下一个能直接加工的拿去加工,如此类推,直到最后.然后重新加工最前面那个未被加工的木头,setuptime加1,如此类推直到所有木头都加工过为止
#include
#include
#include
typedefstruct
{
intlen;
intweight;
}wood;
intcmp(constvoid*a,constvoid*b)
{
wood*wa=(wood*)a;
wood*wb=(wood*)b;
if(wa->len!=wb->len)
returnwb->len-wa->len;
returnwb->weight-wa->weight;
}
intmain()
{
intT,i,N,setup,m,j;
woodw[5000];
intused[5000];
scanf("%d",&T);
while(T--)
{
scanf("%d",&N);
for(i=0;i