zoukankan      html  css  js  c++  java
  • 优美三角剖分_递归

    问题 D: 优美三角剖分

    时间限制: 1 Sec  内存限制: 64 MB
    提交: 13  解决: 4
    [提交][状态][讨论版]

    题目描述

     小X同学为了搞好和小C同学的关系,特意寻找了一些优美的图像作为礼物。
    这是一些由无穷无尽三角形组成的极为优美的图形,小X同学很想实现这些极富美感的图形,但是作为一名初赛都未过的伪退役选手,他水平有限,于是这个艰巨的任务就落在你们身上了。
    由于好心的出题人,数据范围n<=10。
       (具体图形详见样例,每一阶图形都是由3个上一阶图形拼成的)

    输入

    只有一行,输入一个整数为N,表示要求出N阶的图形。

    输出

    输出相应的图形。

    样例输入

    3
    

    样例输出

           /       
          /__      
         /  /     
        /__/__    
       /      /   
      /__    /__  
     /  /  /  / 
    /__/__/__/__

    已更正,给数组a赋初值改成空了,不知道为什么改成空可以,赋别的值不行呢。
    还有每一行后面的空格需要保留。
    #include <iostream>
    #include <cstdio>
    #include <cmath>
    #include <cstring>
    
    using namespace std;
    
    int n;
    char a[1025][2049];
    
    
    void fun(int b){
        if(b==n){
            for(int j=1;j<=pow(2,n);j++){
                for(int i=1024-pow(2,n)+1;i<=1024+pow(2,n);i++){
                    printf("%c",a[j][i]);
                }
                printf("
    ");
    
            }
        }else{
            for(int j=1;j<=pow(2,b);j++){
                for(int i=1024-pow(2,b)+1;i<=1024+pow(2,b);i++){
                    int p=pow(2,b);
                    a[j+p][i-p]=a[j][i];
                    a[j+p][i+p]=a[j][i];
                }
            }
            fun(b+1);
        }
    }
    
    int main()
    {
        while(~scanf("%d",&n)){
            memset(a,' ',sizeof(a));
            a[1][1024]='/';
            a[1][1025]='\';
            a[2][1023]='/';
            a[2][1024]='_';
            a[2][1025]='_';
            a[2][1026]='\';
            fun(1);
        }
    
        return 0;
    }
     
  • 相关阅读:
    ABP初始化
    ABP生成错误:必须添加对程序集“netstandard”的引用
    树莓派安装Mysql
    多对多关系的中间表命名
    dapper.net 存储过程
    Rabbitmq发送方消息确认
    Rabbitmq发送消息Message的两种写法
    ThreadLocal原理
    多模块打包为可执行jar问题
    类中属性加载顺序的demo
  • 原文地址:https://www.cnblogs.com/TWS-YIFEI/p/5928399.html
Copyright © 2011-2022 走看看