本蒟蒻的fw代码 思路很简单,就是二维数组模拟,每次分成3份传下去,长度到2的时候return掉
#include <bits/stdc++.h>
int matrix[1026][1026];
int matrixOpr(int x,int y,int l){
if(l == 2){
matrix[x][y]=0;
return 0;
}else{
for(int i=x;i<l/2+x;i++){
for(int j=y;j<l/2+y;j++){
matrix[i][j]=0;
}
}
matrixOpr(x+l/2,y,l/2);
matrixOpr(x,y+l/2,l/2);
matrixOpr(x+l/2,y+l/2,l/2);
}
}
int main(){
int length,tlength;
scanf("%d",&length);
length = sqrt(pow(2,length)*pow(2,length));
for(int i=1;i<=length;i++){
for(int j=1;j<=length;j++){
matrix[i][j] = 1;
}
}
matrixOpr(1,1,length);
for(int i=1;i<=length;i++){
for(int j=1;j<=length;j++){
printf("%d ",matrix[i][j]);
}
printf("\n");
}
return 0;
}