您当前的位置: 首页 >  Java

梁同学与Android

暂无认证

  • 4浏览

    0关注

    618博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java 洛谷 P5461 赦免战俘讲解

梁同学与Android 发布时间:2019-09-05 10:39:42 ,浏览量:4

在这里插入图片描述 输入输出样例

输入 3 输出 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 主要考点

递归

代码实例:

import java.util.Scanner;
public class Main{
	public static void main(String args[]) {

		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();

		int matrix[][] = new int[(int) Math.pow(2, n)][(int) Math.pow(2, n)];

		for (int i = 0; i < matrix.length; i++) {
			for (int j = 0; j < matrix.length; j++) {
				matrix[i][j] = 1;
			}
		}
		
		fanZhuan(matrix, 0, 0, matrix.length);
		
		for (int i = 0; i < matrix.length; i++) {
			for (int j = 0; j < matrix.length; j++) {
				System.out.print(matrix[i][j] + " ");
			}
			System.out.println();
		}
		scanner.close();
	}

	// 反转函数
	public static void fanZhuan(int matrix[][], int x, int y, int r) {
		
		for (int i = x; i < x + r / 2; i++) {
			for (int j = y; j < y + r / 2; j++) {
				matrix[i][j] = 0;
			}
		}
		if(r/2==1) {
			return;
		}
		//右上角
		fanZhuan(matrix,x+r/2,y,r/2);
		//左下角
		fanZhuan(matrix,x,y+r/2,r/2);
		//右下角
		fanZhuan(matrix,x+r/2,y+r/2,r/2);
	}
}
关注
打赏
1660730345
查看更多评论
立即登录/注册

微信扫码登录

0.0731s