#include<bits/stdc++.h>
using namespace std;
int n,m=1,a[1050][1050];
void jz(int e,int f,int g)
{
if(e==2)
{
a[f][g]=0;
return;
}
for(int i=f;i<=f+e/2-1;i++)
for(int j=g;j<=g+e/2-1;j++)
a[i][j]=0;
jz(e/2,f+e/2,g);
jz(e/2,f+e/2,g+e/2);
jz(e/2,f,g+e/2);
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
m*=2;
for(int i=1;i<=m;i++)
for(int j=1;j<=m;j++)
a[i][j]=1;
jz(m,1,1);
for(int i=1; i<=m; i++)
{
for(int j=1; j<=m-1; j++)
cout<<a[i][j]<<" ";
cout<<a[i][m]<<endl;
}
return 0;
}
【题库】—— 矩阵划分
于 2024-08-22 20:42:19 首次发布