?? 12-11.c
字號:
#include "stdio.h"
#define M 10
typedef int DataType;
typedef struct {
int n; // 貨箱數目
DataType *w, // 貨箱重量數組
c, // 第一艘船的容量
cw, // 當前裝載的重量
bestw; // 目前最優裝載的重量
}Loading ;
void maxLoading(Loading *x,int i)
{// 從第i 層節點搜索
if (i>x->n) {// 位于葉節點
if (x->cw >x->bestw)
x->bestw = x->cw;
return ;
}
// 檢查子樹
if (x->cw + x->w[i] <= x->c)
{// 嘗試x[i] = 1
x->cw += x->w[i];
maxLoading(x,i + 1 ) ;
x->cw -= x->w[i];
}
maxLoading(x,i+1);// 嘗試x[i] = 0
}
DataType MaxLoading(DataType w[], DataType c, int n)
{// 返回最優裝載的重量
Loading X;
// 初始化X
X.w = w;
X.c = c;
X.n = n;
X.bestw = 0;
X.cw = 0;
// 計算最優裝載的重量
maxLoading(&X,1) ;
return X.bestw;
}
void main()
{
DataType w[M],c;
//初始化w[M],c;
MaxLoading(w,c,M);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -