[洛谷之旅]P5461 简单模拟递归

 「一个奇妙的Blog」

访客,您好
[洛谷之旅]P5461 简单模拟递归

本蒟蒻的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;
}


标签:, ,
还没有评论