码迷,mamicode.com
首页 > 其他好文 > 详细

洛谷 P1498 南蛮图腾

时间:2018-04-15 21:00:15      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:cin   就是   --   ora   推荐一个   输入输出   bad   toolbar   个数   

题目描述

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

输入输出格式

输入格式:

 

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

 

输出格式:

 

这个大小的图腾

 

输入输出样例

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

思路:首先是要搞明白他的样例是怎么出来的,也就是题目中说的自相似的意思。
  来自搜狗百科:自相似的物件是近乎或确实和它的一部分相似。若说一个曲线自我相似,即每部分的曲线有一小块和它相似。
技术分享图片技术分享图片技术分享图片技术分享图片

 

  这就是几个自相似的图片。推荐一个了解自相似的文章。
那这个题目的意思题意就很清楚了:我们的知道他的每一个小单元也就是:
 //__\

当n等于2是时候,可以发现是上面的小单元水平向右有一个单元,再向上平移一个得到的。

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

那n=3时,发现也是上面的单元向右以一个,再向上平移一个得到的。

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

那n=4和n=5也就出来了:

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

代码实现是很简单的,但要注意字符串的相关输入在linux和windows下是不同的:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
char a[1024][2048];
int main(){
    int n,length=4,k=1;
    cin>>n;
    for(int i=0;i<1024;i++)
        for(int j=0;j<2048;j++)    a[i][j]= ;
    a[0][0]=a[1][1]=/;
    a[0][1]=a[0][2]=_;
    a[0][3]=a[1][2]=\\;
    while(k<n){
        for(int i=0;i<length/2;i++)
            for(int j=0;j<length;j++)
                a[i+(length/2)][j+(length/2)]=a[i][j+length]=a[i][j];
        length*=2,k++;
    } 
    for(int i=(length/2)-1;i>=0;i--){   
        for(int j=0;j<length;j++)
        cout<<a[i][j]; 
        cout<<endl;
    }
}

 


  


 

 

洛谷 P1498 南蛮图腾

标签:cin   就是   --   ora   推荐一个   输入输出   bad   toolbar   个数   

原文地址:https://www.cnblogs.com/cangT-Tlan/p/8849117.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!