一、实验目的
1、深入理解回溯法的深度优先搜索策略。
2、掌握用回溯法解题的算法框架。
3、学习并理解回溯法的设计策略。
二、问题描述
设某一机器由n个部件组成,每一种部件都可以从m个不同的供应商处购得,设wij是从供应商j处购得的部件i的重量,cij是相应的价格。试设计一个算法,计算总价格不超过c的最小重量机器设计。
算法设计:对于给定的机器部件重量和机器部件价格,计算总价格不超过d的最小重量机器设计。
- 输入
由文件input.txt给出输入数据,第1行输入3个正整数n,m和d。接下来的2n行,每行n个数,前n行是c,后n行是w。
如
3 3 4
1 2 3
3 2 1
2 2 2
1 2 3
3 2 1
2 2 2
- 输出
将计算的最小重量及每个部件的供应商输出到文件output.txt。
上例输出为
4
1 3 1
- 数据结构
物理存储结构:顺序存储结构
数据的基本操作:插入,遍历查找
void mw(int i, int n, int m, int c[], int w[], int d, int cc, int cw, int cs[], int *bs);//计算最小重量
六、算法设计
#include <iostream>
using namespace std;