50求助!
查看原帖
50求助!
1382134
dywangqian楼主2025/7/1 15:10
#include <bits/stdc++.h>
int m[1025][1025],n,k;
void fun(int a,int b,int c,int d)
{
    int i,j;
    for(i=a;i<=(a+c)/2;i++)
    for(j=b;j<=(b+d)/2;j++)
    {
		m[i][j]=0;
	    if(a==(a+c)/2) return;
	    fun((c+a+1)/2,b,c,(d+b-1)/2);
	    fun(a,(d+b+1)/2,(c+a-1)/2,d);
	    fun((c+a+1)/2,(d+b+1)/2,c,d);
	}
}
int main()
{
    scanf("%d",&n);
    k = pow(2,n);
    for(int i = 1;i <= k;i++)
    {
		for(int j = 1;j <= k;j++) m[i][j] = 1;
	}
    fun(1,1,k,k);
    for(int i = 1;i <= k;i++)
    {
      for(int j = 1;j <= k;j++)
      {
        printf("%d",m[i][j]);
        if(j != k) printf(" ");
      }
      if(i != k) printf("\n");
    }
    return 0;
}
2025/7/1 15:10
加载中...