C语言分支限界法:布线问题
来源:优易学  2011-9-29 12:29:04   【优易学:中国教育考试门户网】   资料下载   IT书店

  一、要求:

  1、输入电路板区域n*m以及布线的起始位置和结束位置;

  2、输出布线方案;

  3、可以使用c或者vc实现

  二、问题分析及实验原理:

  在n*m的方格阵列中存在封锁区域(布线时必须绕开的区域),找到起始位置到目标位置的最短路径。从目标位置开始向起始位置回溯,逐步构造最优解。每次向标记距离比当前方格标记距离少1的相邻方格移动,直到到达起始方格为止。

  三、算法程序源代码:

  #include <iostream>

  #include<stdio.h>

  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

  //设置方格阵列“围墙”

[1] [2] [3] 下一页

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训