POJ 2083 Fractal 分形

去年校赛团队赛就有一道分形让所有大一新生欲生欲死……

当时就想学了 结果一直拖到……

今天上午……

马上要省选了 才会一点基础分形……

还是自己不够努力啊……

分形主要是要找到递归点……

还有深度……

还有深度对应的长度 宽度……

看了好久才看懂……

最后要'\0'……

还要清空格……

打出来觉得不是很难……

但就是怕像高中班任说的那样 换个数就不会了……

希望能学以致用……

还有两个小时省选……

总感觉这次省选凶多吉少……

不管怎么样 正常发挥就好……

希望可以去商大打省赛……

 1 #include<stdio.h>
 2 #include<math.h>
 3 #include<string.h>
 4 char a[1005][1005];
 5 void dfs(int deep,int x,int y){
 6     if(deep==1){
 7         a[x][y]='X';
 8         return ;
 9     }
10     int s=pow(3,deep-2);
11     dfs(deep-1,x,y);
12     dfs(deep-1,x+s*2,y);
13     dfs(deep-1,x+s,y+s);
14     dfs(deep-1,x,y+2*s);
15     dfs(deep-1,x+2*s,y+2*s);
16 }
17 int main(){
18     int n;
19     while(~scanf("%d",&n)&&n!=-1){
20         memset(a,' ',sizeof(a));
21         int deep=pow(3,n-1);
22         dfs(n,1,1);
23         for(int i=1;i<=deep;i++)
24             a[i][deep+1]='\0';
25         for(int i=1;i<=deep;i++)
26             printf("%s\n",a[i]+1);
27         printf("-\n");
28     }
29     return 0;
30 }

 

posted @ 2016-04-23 10:49  良将ℓ  阅读(227)  评论(0编辑  收藏  举报