分支界限法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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值