求两点之间所有可能路线

问题描述

intmaze[3][3]={{0,0,0},{0,1,0},{0,0,0}}

求点maze[0][0]到点maze[1][2]两点之间的所有路径。谁知道的赋上源码,谢谢。。。。。。

解决方案

解决方案二:
路过帮顶=============11月6日,论坛升级公告,积分已经做了调整!此次调整增加了两个新的可用分获取渠道:1:帖子被推荐(加精)后,帖主可以获得88分的可用分奖励;2:帖子结帖后会返还帖主50%的悬赏分,无满意结帖不返还分数;3:接下来会不断增加新的可用分获取途径,比如参与活动赠送等,请大家多关注;
解决方案三:
楼主,你这问题没讲明白,如果单纯的要计算所有路径,可就多了去了,它可以在里面循环走,只要最终到达Maze[1][2]就可以了,但这个路径实在是太多了
解决方案四:
数据结构题?帮顶。。看高手解答。。
解决方案五:
不重复走、深度优先搜索DFS
解决方案六:
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsApplication26{publicpartialclassForm1:Form{int[,]maze=newint[,]{{0,0,0},{0,1,0},{0,0,0}};StringAllPath=String.Empty;publicForm1(){InitializeComponent();StringPath="(0,0)";Go(maze,0,0,1,2,refPath);MessageBox.Show(AllPath);}voidGo(int[,]maze,intX,intY,intDestX,intDestY,refStringPath){if(X<0||X>maze.GetUpperBound(1)||Y<0||Y>maze.GetUpperBound(0)||maze[Y,X]>0)return;if(X==DestX&&Y==DestY){AllPath+=Path+"";return;}boolEnd=true;for(inti=0;i<maze.GetUpperBound(0);i++)for(intj=0;j<maze.GetUpperBound(1);j++)if(maze[i,j]!=2){End=false;break;}if(End)return;StringOldPath=Path;maze[Y,X]=2;Path+="("+Y.ToString()+","+(X+1).ToString()+")";Go(maze,Y,X+1,DestX,DestY,refPath);maze[Y,X]=0;Path=OldPath;maze[Y,X]=2;Path+="("+Y.ToString()+","+(X-1).ToString()+")";Go(maze,Y,X-1,DestX,DestY,refPath);maze[Y,X]=0;Path=OldPath;maze[Y,X]=2;Path+="("+(Y+1).ToString()+","+X.ToString()+")";Go(maze,Y+1,X,DestX,DestY,refPath);maze[Y,X]=0;Path=OldPath;maze[Y,X]=2;Path+="("+(Y-1).ToString()+","+X.ToString()+")";Go(maze,Y-1,X,DestX,DestY,refPath);maze[Y,X]=0;Path=OldPath;}}}

结果:(0,0)(0,1)(2,0)(1,2)(0,0)(1,0)(0,2)(2,1)(2,2)(1,2)
解决方案七:
这段没用,可以注释掉//boolEnd=true;//for(inti=0;i<maze.GetUpperBound(0);i++)//for(intj=0;j<maze.GetUpperBound(1);j++)//if(maze[i,j]!=2)//{//End=false;//break;//}//if(End)//return;

解决方案八:
结果输出2种,空格隔开
解决方案九:
不过并不是真正意义上的“所有”,原因ls的也说了

时间: 2024-08-01 21:17:40

求两点之间所有可能路线的相关文章

c++ 课设 c++编程问题-C++编程题 用类做两个坐标,求两点之间的距离

问题描述 C++编程题 用类做两个坐标,求两点之间的距离 用类做两个坐标,求两点之间距离 C++编程题明天上课就要交了,不交就得挂科,求尽快给以正解,在下感激不进 解决方案 http://codepad.org/zqnz4GTt #include <math.h> #include <iostream.h> using namespace std; class Point { public: int x; public: int y; public: double distance

用eclipse写一个程序,求两点之间距离

问题描述 packagelianxi;publicclassLine{Pointstartpoint;Pointendpoint;publicvoidPoint(doublex1,doubley1,doublex2,doubley2){startpoint=newPoint(x1,y1);endpoint=newPoint(x2,y2);}publicvoidLine(Pointstartpoint,Pointendpoint){this.startpoint=startpoint;this.e

求两点之间最短路径-Dijkstra算法

 Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止.Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等.注意该算法要求图中不存在负权边. 问题描述:在无向图 G=(V,E) 中,假设每条边 E[i] 的长度为 w[i],找到由顶点 V0 到其余各点的最短路径.(单源最短路径)   2

hdoj 1007 两点之间最短距离的二分之一 提交之后超时了 求c语言解法 感激不敬

问题描述 hdoj 1007 两点之间最短距离的二分之一 提交之后超时了 求c语言解法 感激不敬 #include"stdio.h" #include"math.h" int main() { int n,i,j; double s; while(scanf("%d",&n)&&n) { double a[100000][5]={0}; for(i=0;i<n;i++) for(j=0;j<2;j++) sca

js实现两点之间画线的方法

  本文实例讲述了js实现两点之间画线的方法.分享给大家供大家参考.具体分析如下: 最近有点无聊,琢磨了很久,想到了一消磨时间的点子,也就是做js版的连连看. 两点之间画线也只是连连看最基本功能的一部分,所以我画的线也仅是折线,而且还只能向左折,后面将根据连连看中图片位置点来确定折线的方向. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

java 根据经纬度 坐标 计算两点之间的距离

根据经纬度,坐标,计算两点之间的距离: 参数格式如下:每一个param的两个值之间用分号分割 @param1  positionOne =aa.bbbb;cc.dddd @param2  positionOne =ee.bbbb;gg.dddd public static double getDistance(String positionOne, String positionTwo) {double long1;double lat1;double long2;double lat2;dou

地图api-asp利用百度地图 判断两点之间的距离多少米

问题描述 asp利用百度地图 判断两点之间的距离多少米 asp利用百度地图 判断两点之间的距离多少米 我用asp做的手机网站,希望通过得到用户当前的坐标,然后判断离他最近的商户的位置.如何实现,救大神解! 解决方案 通过2点的经纬度来计算 http://wenku.baidu.com/link?url=A8bPgL_oKmBQ6CU7KDi154dV5s5Lf53V5MXEs0i251cFGNgbCRZ3NWLgajznzKdHq6-pFZI0eyxCxDUCwodN8_XYsOEWYcT1HB

最短路径条数-spark graphx框架下怎样求两点间最短路径的条数

问题描述 spark graphx框架下怎样求两点间最短路径的条数 我使用spark的graphx图计算框架,现在要求一个图中所有节点对的最短路径条数, graphx下的pregel迭代貌似使用的是类迪杰斯特拉算法,要求最短路径长度很容易, 但是要求条数,我实在是想不出来怎么求,希望各位大神解答,最好能有源码,实在 没有,有思路也可以,万分感谢!!!

求数字之间的关系,请大家看下

问题描述 求数字之间的关系,请大家看下 想问下数字: 1 9 3 6 5 3 这些数字之间的关系,该选哪个 A.0 B.3 C.4 D.7 E.9 解决方案 你这文不对题,选项和问题有啥关系啊,你是不是该问后面的数是什么 解决方案二: 我选择A,因为我把他看成时间1936年5月30日!其他就不对! 解决方案三: 这个纯粹是闹着玩的吧,我不知道这个和计算机有什么关系 解决方案四: 1 3 5 7-- 难道是7? 解决方案五: 这种题有一千种答案,那我也给你写一串数字,0000000,问下一个数字,