两辆平板车装货问题matlab代码
时间: 2023-07-27 13:07:08 浏览: 122
这个问题有多种解法,下面提供一种简单的贪心算法的 Matlab 代码:
```matlab
n = input('请输入平板车数量:');
m = input('请输入货物数量:');
if n <= 0 || m <= 0
disp('输入错误,请重新输入!');
return;
end
c = zeros(1, n);
for i = 1:n
c(i) = input(['请输入第' num2str(i) '辆车的载重量:']);
end
w = zeros(1, m);
for i = 1:m
w(i) = input(['请输入第' num2str(i) '件货物的重量:']);
end
load = zeros(1, n);
for i = 1:m
[min_load, idx] = min(load);
if min_load + w(i) > c(idx)
disp(['第' num2str(i) '件货物无法运输!']);
break;
else
load(idx) = min_load + w(i);
disp(['第' num2str(i) '件货物已装入第' num2str(idx) '辆车。']);
end
end
```
代码中,首先读入平板车数量 `n` 和货物数量 `m`,然后分别读入每辆车的载重量和每件货物的重量。接着使用数组 `load` 记录每辆车当前的载重量,对于每件货物,选择当前载重最小的车辆装载。如果无法装载,则输出提示信息并结束循环。最终输出每件货物被装入的车辆编号。
阅读全文