裝載問題之二

2021-06-07 05:08:06 字數 697 閱讀 4974

/*

上界函式

*/#include #include #define maxsize 100

//全域性變數

int n; //貨櫃個數

int c; //容量

int r; //剩餘容量

int w[maxsize]; //貨櫃重量

int cw; //當前重量

int bestw; //最優重量

//輸入函式

void input();

//初始化函式

void init();

//回溯法

void backtrack(int);

int main(void)

return 0;

}//輸入函式

void input()

}//初始化函式

void init()

}//回溯法

void backtrack(int t)

}else

//右子樹

cw -= w[t];

if (cw + r > bestw)

r += w[t];

}}

最優裝載問題

現有n個貨櫃要裝進兩艘載重分別為c1,c2的船,其中第i個貨櫃重w i 並且題目保證 i 1nw i c1 c2 問是否存在乙個合理的裝載方案,使得這n個貨櫃都裝進兩艘船,若有請找出一種方案。題目分析 方法1 對於每個貨櫃,都有3種狀態 裝到船1,裝到船2,或者不裝。按照這個思想我們可以列舉所有的n...

裝載問題 c

include include using namespace std typedef struct qnode qnode 別名,可一樣也可不一樣,一般一樣 int n int c int bestw int w 100 int bestx 100 void input void output v...

最優裝載問題

題目描述 給定一艘容量為c的船,給定一批貨物,貨物i的重量是wi,要求在船不超重的前提下,將盡可能多的貨物裝上船。思路 盡可能多的裝上船,就像活動安排問題一樣,先對貨櫃的重量從小到大排序,在貨櫃重量不超過輪船載重量的情況下先裝輕的,裝上之後在用乙個布林型陣列賦值為1,表示裝上船,方便輸出 inclu...