当前位置: 代码迷 >> C语言 >> 一个有趣的编程题目
  详细解决方案

一个有趣的编程题目

热度:739   发布时间:2007-05-16 16:00:17.0
一个有趣的编程题目
在一个n*m的方格通路中,去掉若干个点,如下图。其中加0的点表去掉的点。在图中,任给两点P,Q,找出一条从P到Q转弯最少的路径(路径中的每一步只能沿水平或垂直方向行进,去掉的点不能通过)。
       
  输入格式:
  输入的第一行为n与m(均不大于100),第二行有四个整数Px,Py,Qx,Qy分别表示P、Q点的坐标,第三行开始每行有两个整数x,y,表示一个去掉的点的坐标(P、Q点一定不是去掉的点,-1表示结束,图中最左上角的B1坐标为(0,0),向下为x方向,向右为y方向。
  输出格式:
  输出有若干行,第一行为转弯数,第二行开始顺序输出所求的转弯最少的路径中的每一个拐点的坐标,每行表示一个点。
  样例输入:(road.in)
  5 8
  1 1 3 7
  4 3 
  1 4
  3 5
  3 7
  -1 -1
  样例输出:(road.out)
  2
  2 1
  2 7
搜索更多相关的解决方案: 通路  

----------------解决方案--------------------------------------------------------
图不知怎样放上来,不过没图一样做的.帮帮忙.
----------------解决方案--------------------------------------------------------
可以双向广度优先搜索
----------------解决方案--------------------------------------------------------
3楼讲的详细点啊
----------------解决方案--------------------------------------------------------
  相关解决方案