上机实验题7--求解装载问题

Posted hqx-curiosity

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了上机实验题7--求解装载问题相关的知识,希望对你有一定的参考价值。

 

//求解装载问题
#include<stdio.h>
#define MAXN 20
int n,W;
int maxw;
int x[MAXN];
int minm = 32767; 
void disp(int n){
	int i;
	printf("选取的集装箱:
");
	for(i=1;i<=n;i++)
		if(x[i] == 1)
			printf("选取第%d个集装箱
",i);
	printf("总重量 = %d
",maxw); 
}
void Loading(int w[],int tw,int m,int op[],int i){	//考虑第i个集装箱 
	int j; 
	if(i>n){
		if(tw <= W && (tw > maxw || (tw == maxw && m < minm))){
			maxw = tw;
			minm = m;
			for(j = 1;j<= n;j++)
				x[j] = op[j]; 
		}
	}
	else{
		op[i] = 1;
		if(tw + w[i] <= W)
			Loading(w,tw+w[i],m+1,op,i+1);
		op[i] = 0;
		if(m <= 2)
			Loading(w,tw,m,op,i+1);
	}
} 
int main(){
	int w[] = {0,5,2,6,4,3};
	int op[MAXN];	//存放临时解 
	n = 5,W = 10;
	Loading(w,0,0,op,1);
	disp(n);
} 

  

以上是关于上机实验题7--求解装载问题的主要内容,如果未能解决你的问题,请参考以下文章

数据结构C++实验题 程序代码?

大连理工大学软件学院2022年秋季学期《矩阵与数值分析》上机作业

JLU数据结构荣誉课第五次上机实验

山东大学 机器学习 实验报告 实验2 模式分类 上机练习

NUAA操作系统OS实验及上机考试记录

PTA数据结构第2章实验题集1—顺序表操作