P5461(灰常简单)20pts求调
  • 板块题目总版
  • 楼主MATAIN
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/9/13 20:28
  • 上次更新2024/9/14 10:37:01
查看原帖
P5461(灰常简单)20pts求调
1152025
MATAIN楼主2024/9/13 20:28
#include<bits/stdc++.h>
#define ll long long
using namespace std;
bool a[10025][10025];
void dfs(int a1,int b,int c,int d)
{
	int s=c-a1+1;
	int half=s/2;
	if(s==1) return;
	a[a1][b]=0;
	for(int i=1;i<=half;i++)
	    for(int j=1;j<=half;j++)
	        a[i][j]=0;
	dfs(a1,b+half,c-half,d);
	dfs(a1+half,b,c,d-half);
	dfs(a1+half,b+half,c,d);
}
int main()
{
    int p,n;
    cin>>p;
    n=pow(2,p);
    for(int i=1;i<=n;i++)
    {
    	for(int j=1;j<=n;j++) a[i][j]=1;
	}
	dfs(1,1,n,n);
	for(int i=1;i<=n;i++)
    {
    	for(int j=1;j<=n;j++) cout<<a[i][j]<<" ";
    	cout<<endl;
	}
	//数据范围:p<11
   //WA 八个点




    return 0;
}
2024/9/13 20:28
加载中...