###求助大佬###全部RE
查看原帖
###求助大佬###全部RE
416581
ywsnm—cc2333楼主2021/5/9 17:51
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
const int maxn=3005;
bool a[maxn][maxn];
int mid[3];
int n,k;
void dg(int x,int y,int p,int q)//x,y为左上点横纵坐标 ,p,q为右下点横纵坐标; 
{
	if(x==p) return;
	mid[2]=(x+p)/2;
	mid[1]=(y+q)/2;
	for(int j=y;j<=mid[1];j++)
		for(int i=x;i<=mid[2];i++)
			a[j][i]=0;
	dg(mid[2],y,p,mid[1]);
	dg(mid[2],mid[1],p,q);
	dg(x,mid[1],mid[2],q);
}
void output(int x,int y)
{
	for(int i=1;i<=x;i++)
		for(int j=1;j<=y;j++)
			printf("%d",a[i][j]);
}
int main( )
{
	scanf("%d",&n);
	k=pow(2,n);	
	memset(a,1,sizeof(a)); 
	dg(1,1,k,k);
	output(k,k);
	return 0;
}
2021/5/9 17:51
加载中...