在C语言中,一个n*n的数组给特定的位置赋值为1,值为1的位置的下标可以组成一些路径,求这些路径

比如有一个数组arc[6][6],初始化为0,然后arc[0][1]=1;arc[0][2]=1;
arc[1][3]=1;arc[1][4]=1;arc[2][4]=1;arc[2][5]=1;
arc[3][6]=1;arc[4][6]=1;arc[5][6]=1;
比如可以找出一些路径如:0-1-3-6;0-2-4-6;怎么用C语言写代码把所有的路径找出来,谢谢

无非就是广度优先或者深度优先算法,从某个顶点开始,x y +1 -1 不变排列组合有9个,除了自己,搜索它们,然后递归这个过程