和记娱乐螺旋矩阵C语言实现

发布时间:2019-01-14 17:38

  比如 01运行到04,再往上走碰到值不等于0的01位置,我知道gi,和记娱乐,gj作用是马上修正跳到05继续往上走,但是为什么这样写呢?怎样得出gi和gj什么时候+1和-1或者不变呢?怎么想出来的?

  不,其实并不是这样,恰恰相反,递归会不断的往里面进,一直进到最里层,也就是达到条件

  好了,这就是以上的原理,然后再来看你的gi和gj,处理冲突这一点理解得很对,但是不是说什么跳到05啥的,处理冲突是这一句:

  if(a[ri][rj]==0),首先,ri、rj、gi、gj都是坐标(这儿不懂的追问)看上面的数据,在start 等于9、7、5的时候,ri 、rj的值是一样的,这也就冲突了,在start等于9的时候 ,

  a[ri = 1][rj =1]已经不等于0了,到了if语句肯定不成立了, 自然就走的else,然后用得坐标就变成了gi和gj,也就是start = 7的时候, 位置就是a[gi][gj],实现了解决冲突的效果。

  至于gi和gj什么时候+1什么时候-1这个,这个需要看一下原作者的思路,通过不同的dir去控制不同的位置,冲突的g坐标将其当做r坐标再去判断是否该位置上有值,有的话继续根据dir去寻找,一直到发现该位置是0,然后将其占有。