C#找出所有可以连起来的坐标

CSharp_NET 发布于 2013/05/30 10:28
阅读 153
收藏 0

给出一个数组 15 16 24 27 34 37 43 44 46 48 54 56 58 66 67 68 。

这些数是一个6*8矩阵的坐标点。原点为(1,1)十位数为纵坐标 个位数为横坐标。

现在找出所有能连起来的点。如 24 34 44 54 43 这5个点相邻 可以连起来。

并且统计最多有多少个点可以相连。

       

15 16




24

27



34

37


43 44
46
48



54
56
58





66 67 68


加载中
0
伊藤熊吉
伊藤熊吉

首先这是一个多维数组,然后把坐标(X-1,Y-1) 就得到了数字在这个数组里的index,然后通过这个index便利,比如24
我便利到24了,那么我会查看,24的index的(X+0,y+1)有没有数字,如果有,那么我再看
24的index的(x+0,y+2)有没有数字,以此类推
如果推到(x+0,y+5)还有数字,那么就把24记录下来

比如便利到27 27index(X+0,y+1)有,再看(X+0,Y+2)有,再看(X+0,Y+3) 没有 放弃
继续便利下一个格子

伊藤熊吉
伊藤熊吉
回复 @CSharp_NET : 我只是给你了个思路,你却找我要具体实现....
CSharp_NET
CSharp_NET
比如右下角 46 56 66 67 68 58 48 这也算可以连起来的
伊藤熊吉
伊藤熊吉
回复 @CSharp_NET : 那你检测玩横的再检测竖的不就好了么
CSharp_NET
CSharp_NET
但是还有横坐标啊43这个点和44相邻。也可以连起来啊
返回顶部
顶部