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

https://vijos.org/p/1167

描述

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

格式

输入格式

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

输出格式

这个大小的图腾

样例1

样例输入1[复制]

2

样例输出1[复制]

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


init:提示:


 

#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<math.h>
#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<cp[i];j++)
        {
            
            int ts=cp[i]/2;
            for(k=0;k<ts&&j<cp[i]/2;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<space;l++,k++)
                    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<cp[n];i++)
            puts(str[n][i]);
    }
    return 0;
}

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值