分支界限法0 1背包 c语言,分支限界法之布线问题(1)
一、要求:
1、輸入電路板區域n*m以及布線的起始位置和結束位置;
2、輸出布線方案;
3、可以使用c或者vc實現
二、問題分析及實驗原理:
在n*m的方格陣列中存在封鎖區域(布線時必須繞開的區域),找到起始位置到目標位置的最短路徑。從目標位置開始向起始位置回溯,逐步構造最優解。每次向標記距離比當前方格標記距離少1的相鄰方格移動,直到到達起始方格為止。
三、算法程序源代碼:
#include
#include
using namespace std;
typedef struct
{
int row ;
int col ;
}Position;
typedef struct
{
//struct Position;
int row[10000] ;
int col[10000] ;
int end;
int begin ;
}Queue;
int grid[100][100];
Position start, finish;
int PathLen = 0;
Position * path;
int n , m , a , b , x ;
bool FindPath(Position start,Position finish)
{//計算從起點位置start到目標位置finish的最短布線路徑,找到最短布線路//徑則返回true,否則返回false
if((start.row==finish.row) && (start.col==finish.col))
{
PathLen=0;
return true;
} //start=finish
//設置方格陣列“圍墻”
總結
以上是生活随笔為你收集整理的分支界限法0 1背包 c语言,分支限界法之布线问题(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [云炬创业管理笔记]第九章为创业成败而准
- 下一篇: [云炬创业管理笔记]第九章为创业成败而准