做纯静态网站怎么样,wordpress哪个seo工具好,中国材料价格网,网站建设kaodezhu题目
现有2n2n(n≤10) 名作弊者站成一个正方形方阵等候kkksc03的发落。kkksc03决定赦免一些作弊者。他将正方形矩阵均分为4个更小的正方形矩阵#xff0c;每个更小的矩阵的边长是原矩阵的一半。其中左上角那一个矩阵的所有作弊者都将得到赦免#xff0c;剩下3个小矩阵中每个更小的矩阵的边长是原矩阵的一半。其中左上角那一个矩阵的所有作弊者都将得到赦免剩下3个小矩阵中每一个矩阵继续分为4个更小的矩阵然后通过同样的方式赦免作弊者……直到矩阵无法再分下去为止。所有没有被赦免的作弊者都将被处以棕名处罚。
给出n请输出每名作弊者的命运其中0代表被赦免1代表不被赦免。
输入输出格式
输入格式
一个整数n。
输出格式
的 01 矩阵代表每个人是否被赦免。数字之间有一个空格。
输入输出样例
输入样例
3
输出样例
0 0 0 0 0 0 0 1
0 0 0 0 0 0 1 1
0 0 0 0 0 1 0 1
0 0 0 0 1 1 1 1
0 0 0 1 0 0 0 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
1 1 1 1 1 1 1 1
代码
//经典的递归套路的代码遇到反复相同的操作过程使用递归
#includeiostream
using namespace std;
int n,a[1050][1050],p1;
void bianhua(int x,int l,int h){//x为正方形边长l、h分别为递归正方形的横纵坐标if(x2){//终止条件a[l][h]0;return;}//具体操作for(int il;ilx/2-1;i){for(int jh;jhx/2-1;j){a[i][j]0;}}//其余部分操作完成bianhua(x/2,l,hx/2);bianhua(x/2,lx/2,h);bianhua(x/2,lx/2,hx/2);
}
int main(){cinn;for(int i1;in;i){p*2;}for(int i1;ip;i){for(int j1;jp;j){a[i][j]1;}}bianhua(p,1,1);//递归for(int i1;ip;i){for(int j1;jp-1;j){couta[i][j] ;}couta[i][p]endl;//避免最后多打一个空格最后一列单独处理}return 0;
}