java 超内存了怎么办 大佬们
查看原帖
java 超内存了怎么办 大佬们
1057414
kaduoyazikasa楼主2024/11/13 21:03


import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Scanner;

public class Main {
	
	public static int n = 0;
	public static boolean [][] matrix;
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
		n = (int) Math.pow(2, sc.nextInt());
		
		matrix = new boolean[n][n];
		for(int i = 0; i < n ;i++) {
			Arrays.fill(matrix[i], true);
		}
		
		fn(0,0,n);
		
		for(int i = 0; i < n;i++) {
			for(int j = 0; j < n;j++) {
				out.printf("%d ",matrix[i][j] ? 1 : 0);
			}
			out.println();
		}

		
		out.flush();
		out.close();
		
	}
	private static void fn(int x, int y, int len) {
		if(len <= 1 || x + len / 2 > n || y + len /2 > n)
			return;
		for(int i = x; i < x + len / 2; i++) {
			for(int j = y; j < y + len / 2; j++) {
				matrix[i][j] = false;
			}
		}
		fn(x + len / 2,y,len / 2);
		fn(x ,y + len / 2,len / 2);
		fn(x + len / 2,y + len / 2,len / 2);
		

	}

}

2024/11/13 21:03
加载中...