c语言主题(木材加工)
提供一个算法思路供参考:
1设置木头为结构数组,结构* * *有两个元素,长度和重量;
如果不能用结构,也没关系,设置2个数组就行了。
2通过输入法得到这个结构数组(2个数组)的数据。
3分类
假设数组大小为n,* * *有M块木头,处理顺序为结构数组号M-1,M-2,...0.
为了实现最短的准备时间,需要进行排序。
因为必须满足条件:第I根木材的重量和长度大于或等于第i-1根木材的重量和长度,所以第I根木材不需要准备时间,否则需要准备时间1分钟。
实际上,只需要按一个条件排序,比如按权重(当你需要改变权重数组的顺序时,别忘了也要改变长度数组的顺序,长度数组不需要比较大小)
4.等待时间的计算:从结构数组号m-1判断长度条件。如果第I根木头的长度大于或等于第i-1根木头的长度,则没有等待时间;否则加1,不需要判断权重条件。