vijos 1167 南蛮图腾(打印图案)

https://vijos.org/p/1167

描述

自从到了南蛮之地,孔明不仅把孟获收拾的服服帖帖,而且还发现了不少少数民族的智慧,他发现少数民族的图腾往往有着一种分形的效果(看Hint),在得到了酋长的传授后,孔明掌握了不少绘图技术,但唯独不会画他们的图腾,于是他找上了你的爷爷的爷爷的爷爷的爷爷……帮忙,作为一个好孙子的孙子的孙子的孙子……你能做到吗?

格式

输入格式

每个数据一个数字,表示图腾的大小(此大小非彼大小) n<=10

输出格式

这个大小的图腾

样例1

样例输入1[复制]

2

样例输出1[复制]

   /\
  /__\
 /\  /\
/__\/__\


init:提示:
vijos 1167 南蛮图腾(打印图案)_第1张图片

 

#include
#include
#include
#include
#include<string.h>
using namespace std;
char str[11][1030][1030];
int cp[]={1,2,4,8,16,32,64,128,256,512,1024};
int main()
{
    memset(str,0,sizeof(str));
    str[1][0][0]=' ';
    str[1][0][1]='/';
    str[1][0][2]='\\';
    str[1][1][0]='/';
    str[1][1][1]='_';
    str[1][1][2]='_';
    str[1][1][3]='\\';

    int i,j,k,space=0,cn;
    for(i=2;i<=10;i++)
    {
        cn=cp[i]-1;
        int temp=1;
        for(j=0;j)
        {
            
            int ts=cp[i]/2;
            for(k=0;k2;k++)
            {
                str[i][j][k]=' ';
            }
            strcpy(&str[i][j][k],str[i-1][j%cp[i-1]]);    
            k+=strlen(str[i][j%cp[i]]);
            if(j>=cp[i]/2)
            {
                space=cp[i]/2-1-j%cp[i-1];
                int l;
                for(l=0;l)
                    str[i][j][k]=' ';
                strcpy(&str[i][j][k],str[i-1][j%cp[i-1]]);
            }
        }
    }
    int n;
    while(~scanf("%d",&n))
    {
        for(i=0;i)
            puts(str[n][i]);
    }
    return 0;
}

 

转载于:https://www.cnblogs.com/crazyapple/archive/2013/04/08/3008746.html

你可能感兴趣的:(vijos 1167 南蛮图腾(打印图案))