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

    https://www.luogu.org/problem/show?pid=1498

    题目描述

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

    输入输出格式

    输入格式:

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

    输出格式:

    这个大小的图腾

    输入输出样例

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

    基础算法貌似不会诶~~


    先给数组清成空格 方便
    每当大小为1时,就构建三角
    最后输出
    size表示大小,x表示行,y表示列
     1 #include <algorithm>
     2 #include <cstring>
     3 #include <cstdio>
     4 
     5 using namespace std;
     6 
     7 int n;
     8 char s[2333][2333];
     9 
    10 void DFS(int size,int x,int y)
    11 {
    12     if(size==1)
    13     {
    14         s[x][y]=s[x][y+1]='_';
    15         s[x][y-1]=s[x-1][y]='/';
    16         s[x][y+2]=s[x-1][y+1]='\';
    17         return ;
    18     }
    19     int move=1<<size-1;
    20     DFS(size-1,x,y-move);
    21     DFS(size-1,x,y+move);
    22     DFS(size-1,x-move,y);
    23 }
    24 
    25 int main()
    26 {
    27     scanf("%d",&n);
    28     memset(s,' ',sizeof(s));
    29     int n_=1<<n;
    30     DFS(n,n_,n_);
    31     for(int i=1;i<=n_;i++)
    32     {
    33         for(int j=1;j<=n_<<1;j++)
    34             printf("%c",s[i][j]);
    35         printf("
    ");
    36     }
    37     return 0;
    38 }
    ——每当你想要放弃的时候,就想想是为了什么才一路坚持到现在。
  • 相关阅读:
    ListView Item 点击展开隐藏问题
    01背包基础 (杭电2602)
    实现一个简单的语音聊天室(多人语音聊天系统)
    Tomcat全攻略
    Linux pipe函数
    从网页抓取数据的一般方法
    华为的面试经历
    微软2014校园招聘笔试试题
    C++ 虚函数表解析
    unity3d 改动gui label颜色,定义颜色需除以256
  • 原文地址:https://www.cnblogs.com/Shy-key/p/7045212.html
Copyright © 2011-2022 走看看