poj 2083 Fractal 递归

来源:互联网 发布:抢票软件 知乎 编辑:程序博客网 时间:2024/05/18 19:47
#include <iostream>#include <stdio.h>#include <cstring>using namespace std;#define MAX_N 1000char r[MAX_N][MAX_N];int solve(int n,int si,int sj){if( n == 1){r[si][sj]='X';return 1;}int m = 0;m =solve(n-1,si,sj);m =solve(n-1,si+2*m ,sj);m =solve(n-1,si+m,sj+m);m =solve(n-1,si,sj+2*m);m =solve(n-1,si+2*m,sj+2*m);return 3*m;}int main(){int n;while(cin>>n){if(n < 0)break;memset(r,' ',sizeof(r));int ret = solve(n,1,1);for(int i=1;i<=ret;i++){int k =ret;//找到这一行最后一个X,后面不输出空格了。for(; k>= 1;k--){if(r[i][k] == 'X')break;}for(int j=1;j<=k;j++){cout<<r[i][j];}cout<<endl;}cout<<"-"<<endl;}}

原创粉丝点击