当前位置: 首页 > news >正文

蓝桥杯 修剪灌木

问题描述

爱丽丝要完成一项修剪灌木的工作。

有 N 棵灌木整齐的从左到右排成一排。爱丽丝在每天傍晩会修剪一棵灌 木, 让灌木的高度变为 0 厘米。爱丽丝修剪灌木的顺序是从最左侧的灌木开始, 每天向右修剪一棵灌木。当修剪了最右侧的灌木后, 她会调转方向, 下一天开 始向左修剪灌木。直到修剪了最左的灌木后再次调转方向。然后如此循环往复。

灌木每天从早上到傍晩会长高 1 厘米, 而其余时间不会长高。在第一天的 早晨, 所有灌木的高度都是 0 厘米。爱丽丝想知道每棵灌木最高长到多高。

输入格式

一个正整数 N, 含义如题面所述。

输出格式

输出 N 行, 每行一个整数, 第 i 行表示从左到右第 i 棵树最高能长到多高。

样例输入

3

样例输出

4
2
4

评测用例规模与约定

对于 30% 的数据, N≤10.

对于 100% 的数据, 1<N≤10000.

找规律 

灌木达到最高高度有三种情况 :

①从左往右开始第一次修剪该灌木时,修剪前的高度

②从左往右再从右往左第二次修剪该灌木时,修剪前的高度

③从右往左再从左往右第三次修剪该灌木时,修剪前的高度

 

#include<iostream>
#include<cmath>
using namespace std;

int n;

int main()
{
	
	cin>>n;
		 
	for(int i=1; i<=n; ++i)
	{
		//第一种情况 
		int a = i;
		int b, c;
		//第二种情况 
		if(i != n)  b=(n-i)*2;
		if(i == n)  b=(n-1)*2;
		//第三种情况
		if(i != 1) c=(i-1)*2;
		if(i == 1) c=(n-1)*2; 
		
		cout<<max(c, max(a, b))<<endl; 
	}
	return 0;
}

相关文章:

  • opencv初步学习——图像处理3
  • LeetCode BFS层序遍历树
  • 工作记录 2017-02-04
  • 【css酷炫效果】纯CSS实现照片堆叠效果
  • 2025年通信安全员考试题库及答案
  • xxl-job 执行器端服务器的简单搭建
  • OneCyber 平台
  • 杨校老师课堂之编程入门与软件安装【图文笔记】
  • 将Django连接到mysql
  • numpy学习笔记8:数组属性和基础操作的详细描述
  • C++中pow函数的作用是什么,如何使用它?
  • Etcd 服务搭建
  • 【YOLOv8】YOLOv8改进系列(8)----替换主干网络之Swin Transformer
  • 网络编程day2
  • C++中的左移(<<)、右移(>>)运算符
  • Java数据类型 Arrays VS ArraysList VS LikedList 解析
  • 从数据洪流到智能洞察:人工智能如何解锁大数据的价值?
  • C++与C的基本不同
  • 2025年最新︱ASPM态势感知平台介绍
  • react-native 踩坑
  • 广西:坚决拥护党中央对蓝天立进行审查调查的决定
  • 李伟任山东省委常委、省纪委书记
  • 中国情怀:时代记录与家国镜相|澎湃·镜相第三届非虚构写作大赛暨七猫第六届百万奖金现实题材征文大赛征稿启事
  • 俄乌官员即将在土耳其会谈,外交部:支持俄乌开启直接对话
  • 习近平在第三十五个全国助残日到来之际作出重要指示
  • 【社论】打破“隐形高墙”,让老年人更好融入社会