原题

圣诞节要到了,不少商家在宣传板上绘制了圣诞树的图案,如图所示。一棵圣诞树由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. Zstack迁移实战记录1

    https://blog.csdn.net/weixin_43767046/article/details/113748775 这段时间除了那个重度烤机测试(上面链接),还在做另一件事,想再做一个服务 ...

  2. Ubuntu下的FTP Servers搭建与连接

    1.安装FTP:vsftod sudo apt-get install vsftpd   sudo: 使用sudo(super user do)给普通用户赋予权限 不是所有命令都能用sudo执行的,比 ...

  3. CF1742G Orray

    题目传送门 思路 大抵算是一道位运算入门题? 首先为了使 \(b_i\) 的字典序最大,我们注意到 \(b_1=a_1\),所以 \(a_1\) 必然是序列中最大的那个数. 接下来考虑贪心,设当前已经 ...

  4. 解决Revit导出FBX模型材质丢失的问题

    初次使用Revit导出fbx格式模型,在导出模型后发现模型材质丢失了,上网查询之后也没到具体原因是什么,不过倒是找到了解决方式:在Revit中安装naviswork插件,然后从revit中导出nwc格 ...

  5. Prettier 在 Vite 项目下格式化报错

    Prettier 配置文件有很多种格式,有.json..js..yml等.因为 Vite 默认项目用的模块机制是 ES6,我的配置文件又正好是.js,且用的模块机制是 CommonJS.所以就是如上图 ...

  6. 工业仿真:Chai 3D之点云技术

    推荐:将 NSDT场景编辑器 加入你的3D开发工具链. 介绍   点云是三维坐标系中的一组数据点.在 CHAI3D 中,这些点由 X.Y 和 Z 坐标定义,通常用于表示对象的外表面.   点云可以由3 ...

  7. 重要内置函数、常见内置函数(了解)、可迭代对象、迭代器对象、for循环原理、异常捕获

    目录 一.重要内置函数 二.常见内置函数(了解) 三.可迭代对象 四.迭代器对象 五.for循环内部原理 六.捕捉异常 一.重要内置函数 1. zip 说白了就是压缩几组数据值,说细了就是将可迭代对象 ...

  8. vue3中inject无法获取provide传递的最新的值

    // 爷组件  import { defineComponent, reactive, toRefs, onMounted, provide ,computed} from 'vue';  const ...

  9. rust vec排序

    一.sort let mut v = vec![4,3,3,1,2]; println!("{:#?}",v); v.sort(); println!("{:#?}&qu ...

  10. java学习日记20230228-变量

    JAVA变量 变量是程序的基本组成单位 变量的3要素:类型 名称 值 int a = 1:定义了一个变量 int整数类型,名称为a,值为1 内存里面分配个空间,空间里的值为1 变量相当于 内存中一个数 ...