• P1498 南蛮图腾


    题目描述

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

    输入输出格式

    输入格式:

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

    输出格式:

    这个大小的图腾

    输入输出样例

    输入样例#1:
    2
    输出样例#1:
       /
      /__
     /  /
    /__/__
    
    输入样例#2:
    3
    输出样例#2:
           /
          /__
         /  /
        /__/__
       /      /
      /__    /__
     /  /  /  /
    /__/__/__/__

    这题比较坑,最基础的分治点不是n==1,而是n==2
    我们可以吧每一个图形都拆成3份来做

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<cmath>
     5 using namespace std;
     6 const int MAXN=2050;
     7 int pow2[]={1,2,4,8,16,32,64,128,256,512,1024,2048};
     8 //char a[10][10]={{' ',' ',' ','/','\',' ',' ',' '},
     9 //                 {' ',' ','/','_','_','\',' ',' '}};
    10 int n;
    11 char a[MAXN][MAXN];
    12 void work(int x,int y)
    13 {
    14     a[x][y]='/';
    15     a[x][y+1]='\';
    16     a[x+1][y-1]='/';
    17     a[x+1][y+2]='\';
    18     a[x+1][y]='_';
    19     a[x+1][y+1]='_';
    20 }
    21 void draw(int x,int y,int deep)
    22 {
    23     if(deep==1)
    24     {
    25         work(x,y);
    26         return ;
    27     }
    28     draw(x,y,deep-1);
    29     draw(x+pow2[deep-1],y-pow2[deep-1],deep-1);
    30     draw(x+pow2[deep-1],y+pow2[deep-1],deep-1);
    31 }
    32 int main()
    33 {
    34     //ios::sync_with_stdio(false);
    35     cin>>n;
    36     memset(a,' ',sizeof(a));
    37     draw(0,pow2[n],n);
    38     for(int i=0;i<pow2[n+1];++i)
    39     {
    40         for(int j=1;j<=pow2[n+1];++j)
    41             putchar(a[i][j]);
    42          putchar('
    ');
    43     }
    44     return 0;
    45 }
    
    
  • 相关阅读:
    mac下安装oracle客户端
    Mac下安装tomcat
    eclipse上Git使用
    深拷贝1兼容多构造函数
    Oracle查询表大小,更新或查询太慢的时候
    Redis弱密码修改
    学习参考
    c#简单类型转换As<T>
    NPM相关
    java项目和npm项目命令窗口部署方便调试
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/7049900.html
Copyright © 2020-2023  润新知