本帖最后由 刘胜寒 于 2013-4-25 16:53 编辑
- class Main
- {
- static int[] Dirx = new int[]{0,1,0,-1};
- static int[] Diry = new int[]{1,0,-1,0};
- public static void main(String[] args)
- {
-
-
- int n =5;
- int[][] arr = new int[5][5];
- arr[0][0]=1;
- F(0,0,n,arr);
- for(int i=0;i<n;i++)
- {
- for(int j=0;j<n;j++)
- System.out.print(arr[i][j]+"\t");
- System.out.println();
- }
- }
- public static void F(int x,int y, int n,int[][] arr)
- {
- int row,col;
- for(int i=0;i<4;i++)
- {
- row = x+Dirx[i];
- col = y+Diry[i];
- if(row<0||row>=n||col<0||col>=n) continue;
- if(arr[row][col]!=0)continue;
- arr[row][col]=arr[x][y]+1;
- F(row,col,n,arr);
- }
- }
- }
复制代码 我用递归给你写的
估计你能看的懂
Dirx 和Diry 是确定下一步是向上还是下是左还是右
代码不对
|