《递归_分治策略_X树》

public class X_x {

	/**
	 * @param args
	 */
	public static int[][] flag;

	public static void main(String[] args) {

		int num = 3;
		flag = new int[6 * num - 3][6 * num - 3];
		init();
		show(num, 0, 0);
		print();
	}

	private static void print() {
		for (int i = 0; i < flag.length; i++) {
			for (int j = 0; j < flag.length; j++) {
				if (flag[i][j] == 1) {
					System.out.print("*");
				} else {
					System.out.print(" ");
				}
			}
			System.out.println();
		}
	}

	private static void init() {
		for (int i = 0; i < flag.length; i++) {
			for (int j = 0; j < flag.length; j++) {
				flag[i][j] = 0;
			}
		}
	}

	private static void show(int n, int i_0, int j_0) {
		if (n == 1) {
			set(i_0, j_0);
			return;
		}
		set(i_0, j_0);
		set(i_0, j_0 + 3 * 2 * (n - 1));
		set(i_0 + 3 * 2 * (n - 1), j_0);
		set(i_0 + 3 * 2 * (n - 1), j_0 + 3 * 2 * (n - 1));
		show(n - 1, i_0 + 3, j_0 + 3);
	}

	private static void set(int i_0, int j_0) {
		for (int i = i_0, i_1 = 0; i < i_0 + 3; i++, i_1++) {
			for (int j = j_0, j_1 = 0; j < j_0 + 3; j++, j_1++) {
				if ((i_1 * 3 + j_1 + 1) % 2 == 1) {
					flag[i][j] = 1;
				}
			}
		}
	}

}
/*
 * Console:
 
* *         * *
 *           * 
* *         * *
   * *   * *   
    *     *    
   * *   * *   
      * *      
       *       
      * *      
   * *   * *   
    *     *    
   * *   * *   
* *         * *
 *           * 
* *         * *
 
 */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值