样例都过了,为什么只有1个AC。。。
#include<bits/stdc++.h>
#define MAXN 1024
using namespace std;
short n,m[MAXN][MAXN];
void work(int p,int q,int l){
if(l==1){
m[p][q]=0;
}else{
for(int i=p;i<=p+pow(2,l-1)-1;i++)
for(int j=q;j<=q+pow(2,l-1)-1;j++)
m[i][j]=0;
work(p+pow(2,l-1),q,l-1);
work(p,q+pow(2,l-1),l-1);
work(p+pow(2,l-1),q+pow(2,l-1),l-1);
}
return ;
}
int main(){
ios::sync_with_stdio(false);
cin>>n;
for(int i=1;i<=MAXN;i++)
for(int j=1;j<=MAXN;j++)
m[i][j]=1;
work(1,1,n);
for(int i=1;i<=pow(2,n);i++){
for(int j=1;j<=pow(2,n);j++)
cout<<m[i][j]<<' ';
cout<<endl;
}
return 0;
}