Fractal---POJ2083(dfs)

http://poj.org/problem?id=2083

一道我认为有点恶心的dfs       刚开始没有初始化  用G++交  一直TLE  后来用了C++竟然是wa   那这肯定是我的问题了

最后发现没有初始化

dfs还是感觉不是太懂    什么时候才能真正学会

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<stdlib.h>
#include<math.h>
#include<iostream>

using namespace std;

#define N 1100
#define INF 0xffffffff
#define memset(a,b) memset(a,b,sizeof(a))

char str[N][N];

void DFS(int n,int x,int y)
{
    if(n==1)
    {
        str[x][y]='X';
        return;
    }

    int h=pow(3.0, n-2);

    DFS(n-1,x,y);///左上角
    DFS(n-1,x,y+2*h);///右上角
    DFS(n-1,x+h,y+h);///中间
    DFS(n-1,x+2*h,y);///左下角
    DFS(n-1,x+2*h,y+2*h);///右下角
}

int main()
{
    memset(str,' ');
    DFS(7,1,1);

    int m;

    while(scanf("%d",&m),m!=-1)
    {
        int d=pow(3.0,m-1);
        for(int i=1;i<=d;i++)
        {
            for(int j=1;j<=d;j++)
            {
                printf("%c",str[i][j]);
            }
            printf("
");
        }
        printf("-
");
    }
    return 0;
}
原文地址:https://www.cnblogs.com/linliu/p/5374543.html