一銷售商從n個城市中的某一城市出發,不重複地走完其餘n-1個城市並回到原出發點,在所有可能的路徑中求出路徑長度最短的一條。本題假定該旅行商從第1個城市出發。
對每個測試例,第1行有兩個整數:n(4≤n≤10)和m(4≤m≤20 ) ,n是結點數,m是邊數。接下來m行,描述邊的關係,每行3個整數:(i,j),length,表示結點i到結點j的長度是length。
當n=0時,表示輸入結束。
對每個測試例,輸出最短路徑長度所經歷的結點,最短的長度
//旅行商問題
#define num 100
int n; //圖g的頂點數量
int m; //圖g的邊數
int a[num][num]; //圖g的鄰接矩陣
int x[num]; //當前解
int bestx[num]; //當前最優解向量
int cc; //當前費用
int bestc; //當前最優值
int noedge = -1; //無邊標記
void backtrack(int t)
return;
}else }}
}
旅行商問題
旅行商問題 乙個商人從城市a出發,訪問bcde等城市各一次最後回到a,問行程如何使得路程或費用最低。這是個np 非多項式可解,但一般驗證容易 問題,假設中間有4個城市,那麼全排列為4!24種,沒有很好的演算法,基本只能窮舉了。class vertex 4 public class lianxi pu...
旅行商問題
題意 旅行商問題,即從 1 走到 n 不重不漏,然後求最小距離。題解 狀態壓縮dp,顯然的是,要從某種狀態到某種狀態並且合法,然後取 min 然後全部遍歷。所以設 dp 的含義是,最後乙個點是 i 點,然後走過了 j 這個 01 串的有 1 的點。然後要想的是順序問題,那麼我們必然是從上乙個點推到 ...
旅行商問題(貪婪法)
h greedytsp.h created on 2011 7 12 author 哈哈 ifndef greedytsp h define greedytsp h include using namespace std include include void printstate vector ...