這幾天在想辦法求解TSP問題,衆所周知,TSP問題是NP難問題,現在我們用動態規劃來求解之。
其實這個可以轉化爲一個填表問題。
其中一步是求解集合的所有子集合,整個問題還沒完,等我哪天有時間了,把他詳細寫出來。
把求子集合的代碼先貼在這裏。
#include<stdio.h>
#define N 100
bool b[N];
int n,a[N];
void set_combination(int s){
int i;
if(s==n){
for(i=0;i<n;i++)
if(b[i])
printf("%d ",i);
printf("\n");
return;
}
b[s]=false;
set_combination(s+1);
b[s]=true;
set_combination(s+1);
}
int main(){
while(scanf("%d",&n))
set_combination(0);
return 0;
}