原题

圣诞节要到了,不少商家在宣传板上绘制了圣诞树的图案,如图所示。一棵圣诞树由A和B两部分组成:

A是由n(n≥)个呈三角形的字符矩阵构成的,每个字符矩阵由三个参数ai、bi、ci唯一确定。Ai表示字符矩阵第一行字符的个数;bi表示字符矩阵从第二行开始每一行与它上面那行的字符数之差均为bi;ci则表示字符矩阵的行数。

B是一个x行y列的长方形,由x和y这两个参数唯一确定。

因为圣诞树是中轴对称的,所以根据所有的参数构成的圣诞树是唯一确定的。简单来讲,我们所说的一棵圣诞树就是像图那样的矩阵,每一行的字符是指若干个连在一起的。

【说明】

(1)输入数据保证圣诞树不会超出一页纸的范围。

(2)要求圣诞树是轴对称的,并且字符矩阵的第一列至少有一个非空格字符,即圣诞树尽量“顶格写”。在以上要求下,输出的圣诞树矩阵一定是唯一的(不考虑每行行末的空格)。

输入描述

输入数据分若干行。第一行是一个整数n,表示A部分中字符矩阵的个数。以下n行,每行有三个正整数ai、bi、ci(ai为奇数,bi为偶数)。

输入数据的最后一行,有两个正整数x、y(y是奇数),表示B部分的行数和列数。

输出描述

对于输入数据给定的圣诞参数,输出与之对应的圣诞树矩阵。

用例输入 1

3

1 4 3

5 4 3

5 4 4

2 5

用例输出 1

        *
*****
*********
*****
*********
*************
*****
*********
*************
*****************
*****
*****

这个题不是什么难题,只是写的找规律过程比较巧妙,遂发之

也不讲了,上代码

#include<iostream>

using namespace std;

int n;
int a[1000005][5];
int x,y; int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i][1]>>a[i][2]>>a[i][3];
}
cin>>x>>y;
int cnt=0;
for(int i=1;i<=n;i++){
if((a[i][1]+a[i][2]*(a[i][3]-1))>cnt){
cnt=a[i][1]+a[i][2]*(a[i][3]-1);
}
}
for(int i=1;i<=n;i++){//画树
for(int t=1;t<=a[i][3];t++){
int k=a[i][1]+(a[i][2]*(t-1));
for(int j=1;j<=(cnt-k)/2;j++) cout<<" ";
for(int j=1;j<=k;j++) cout<<"*";
cout<<endl;
}
}
for(int i=1;i<=x;i++){//画树干
for(int j=1;j<=(cnt-y)/2;j++) cout<<" ";
for(int j=1;j<=y;j++) cout<<"*";
cout<<endl;
}
}

【36oj】 画圣诞树的更多相关文章

  1. Turtle-可视化界面画圣诞树

    圣诞节(Christmas)又称耶诞节.耶稣诞辰,译名为“基督弥撒”,是西方传统节日,起源于基督教,在每年公历12月25日.弥撒是教会的一种礼拜仪式.圣诞节是一个宗教节,因为把它当作耶稣的诞辰来庆祝, ...

  2. 使用Python的turtle库画圣诞树

    代码如下: from turtle import * import random import time n = 80.0 speed("fastest") screensize( ...

  3. Python 送你一棵圣诞树

    Python 送你一棵圣诞树 2019-01-02阅读 8800   今天是圣诞节,先祝大家圣诞快乐!??? 有人要说了,圣诞节是耶稣诞生的日子,我又不信基督教,有啥好庆祝的.这你就有所不知了,Pyt ...

  4. linuxtoy.org资源

    https://linuxtoy.org/archives.html Archives 在 Android 系统上安装 Debian Linux 与 R (2015-07-14) Pinos:实现摄像 ...

  5. 用css属性画出一棵圣诞树

    对于学习前端的童鞋,css的掌握是必须的.今天就来实现用css画出一棵圣诞树. 主要练习的是css里面border的练习与掌握程度. 在body创建一个主区域<div></div&g ...

  6. Python画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)

    不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成喔~)one 樱花树 动态生成樱花效果图(这个是动态的) ...

  7. 用div画一个圣诞树

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 使用python画一颗圣诞树

    # -*- coding: utf-8 -*- # @Time : 18-12-26 上午9:32 # @Author : Felix Wang import turtle # 定义圣诞树的绿叶函数 ...

  9. 如何用Python画一个圣诞树呢?

    # ./sd.py * *** ***** ******* ********* |[root@bogon shengdan]# vim sd.py[root@bogon shengdan]# cat ...

  10. 利用js2image把代码压缩成圣诞树

    马上圣诞节了,作为一名程序猿,如何体现自己独特的过节风格,如何在朋友圈发一张专属自己的祝福照片我觉得很有必要,你们说是不是. 谈到圣诞节,话说程序猿和圣诞之间的关系还有这么一个笑话: Q:程序员为什么 ...

随机推荐

  1. 安装KaLi操作系统并优化

    安装KaLi操作系统并优化 1. 开启ROOT登录 安装操作系统跳过,下面直接做系统优化,方便以后使用! 有两种方法,可以实现开机以root身份登录kali系统. 第一种方法如下: 在终端下输入所需命 ...

  2. Windows家庭版安装本地组策略编辑器【gpedit.msc】

    由于我们买的电脑一般默认安装的Windows家庭版本 家庭版本默认不带有本地组策略编辑器 当我们运行gpedit.msc的时候会提示 Winodws找不到文件'gpedit.msc'.请确定文件名是否 ...

  3. 基于C++的OpenGL 11 之投光物

    1. 引言 本文基于C++语言,描述OpenGL的投光物 前置知识可参考: 基于C++的OpenGL 10 之光照贴图 - 当时明月在曾照彩云归 - 博客园 (cnblogs.com) 笔者这里不过多 ...

  4. axios的简易二次封装

    Axios的二次封装 1.在src文件夹下创建utils文件夹,再创建request.js文件 request.js //引入axios import axios from 'axios' //创建实 ...

  5. 【C/C++】main函数中的argc和argv

    1.简述argc和argv 当你用命令行执行文件时,可在后面接指令,以控制程序的运行 argc(argument counter)表示指令的数量 argv(argument vector)表示指令向量 ...

  6. 【C++复习】第六章 数组、指针、字符串

    1.数组 1.1 基本数组 数组声明int a[10]; 声明时方括号内是元素个数.下标从0开始. 第一个元素是a[0],最后一个元素是a[9] a[n]表示的是第n+1个元素 二维数组int b[3 ...

  7. postgreSQL开启数据库guid类型

    执行:create extension "uuid-ossp"; 即可使用:SELECT gen_random_uuid();或SELECT uuid_generate_v4()

  8. REDIS基础要点

    简述:redis 单实例,单进程,当线程处理用户请求数据,基于内存对数据处理.Redis默认分为0-16号库,每个库互相隔离(数据不共享) 基础复习: 1,系统中的每个进程对应有一个fd,通过网卡连接 ...

  9. KCL 语言和 YAML 字符串的区别是什么?一文完全解答

    什么是 YAML YAML 是一种数据序列化语言,通常用于编写配置文件.YAML 代表另一种标记语言或YAML 不是标记语言(递归首字母缩写词),YAML 通常用于数据,而不是文档.YAML 还是一种 ...

  10. N63050 第三周运维作业

    五.文本处理工具和正则表达式1.基本正则表达式(53分钟)2.基本正则表达式和扩展正则表达式(50分钟)3.文本处理三剑客之grep(43分钟)4.shell脚本编程基础知识(14分钟)5.shell ...