zoukankan      html  css  js  c++  java
  • P1498 南蛮图腾

    P1498 南蛮图腾

    题目描述

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

    输入输出格式

    输入格式:

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

    输出格式:

    这个大小的图腾

    输入输出样例

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

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cstring>
     4 using namespace std;
     5 
     6 char a[2100][2100];
     7 void dfs(int len,int x,int y,int base){
     8     //len表示当前“分形”大小,x,y表示上述中点,base表示该“分形”前面的空格数
     9     if(len==1){
    10         a[x][y]='_';
    11         a[x][y+1]='_';
    12         a[x][y-1]='/';
    13         a[x][y+2]='\';
    14         a[x-1][y]='/';
    15         a[x-1][y+1]='\';
    16         return;
    17     }
    18     int tmp=1<<len-1;
    19     dfs(len-1,x,base+y>>1,base);//搜左下子“分形”
    20     dfs(len-1,x,y+tmp,base+(tmp<<1));//搜右下子“分形”
    21     dfs(len-1,x-tmp,y,base+tmp);//搜上子“分形
    22 }
    23 
    24 int main()
    25 {
    26     int n;
    27     cin>>n;
    28     memset(a,' ',sizeof(a));
    29     int m = 1<<n;
    30     dfs(n,m,m,0);
    31     for (int i=1; i<=m; i++){
    32         for (int j=1; j<=m<<1; j++)
    33             cout<<a[i][j];
    34         cout<<endl;
    35     }
    36     return 0;
    37 }
  • 相关阅读:
    德国闪电战和苏联大纵深,谁更厉害?(一个是为了避免战略上的持久战,一个是为了战役的突破)
    “MEAN”技术栈开发web应用
    MVC 01
    适配器模式
    w3wp占用CPU过高
    安装tensorflow
    MemCache分布式内存对象缓存系统
    MVC 使用IBatis.net
    分布式计算
    Remote Desktop Connection Manager
  • 原文地址:https://www.cnblogs.com/mjtcn/p/7115416.html
Copyright © 2011-2022 走看看