java 回形数存储

来源:互联网 发布:sql删除多个表 编辑:程序博客网 时间:2024/05/16 09:38






下面是模拟的代码:

package rqnoj;public class PID7 {/** * @param args */public static int[][] a=new int[7][7];public static int index=0;public static void main(String[] args) {dy(0, 0, 1);for(int i=0;i<a.length;i++){for(int j=0;j<a[0].length;j++){System.out.print(a[i][j]+" \t");}System.out.println();}}public static boolean isyuejie(int i,int j){if(i<0||j<0) return false;if(i==a.length||j==a[0].length) return false;if(a[i][j]!=0) return false;return true;}public static void dy(int i, int j,int k){System.out.println("i:"+i+"j:"+j);if(index==49) return ;a[i][j]= ++index;switch (k) {case 1:if(!isyuejie(i, j+1)){i=i+1;k=2;dy(i, j, k);}else{dy(i, j+1, k);}break;case 2:if(!isyuejie(i+1, j)){j=j-1;k=3;dy(i, j, k);}else{dy(i+1, j, k);}break;case 3:if(!isyuejie(i, j-1)){i=i-1;k=4;dy(i, j, k);}else{dy(i, j-1, k);}break;case 4:if(!isyuejie(i-1, j)){j=j+1;k=1;dy(i, j, k);}else{dy(i-1, j, k);}break;default:break;}}}