#include <iostream>
#include <algorithm>
using namespace std;
struct tree{
int a=0;//记录实时高度
int max=0;//记录最大高度
};
int main()
{
struct tree o[10005];
int n,v=1,t=0;
int p=1;//定义指针表示园丁的位置
cin>>n;//输入灌木个数
while(1)
{
for(int i=1;i<=n;i++)
{
o[i].a+=1;//每天每个灌木增长1cm
if(o[i].a>o[i].max) o[i].max=o[i].a;//更新最高长度
}
o[p].a=0;//对灌木进行修剪
if(p==n || p==1 && t>1) v=-v;//当p到达端点时进行转向
p+=v;//园丁移动到下一个位置
t++;
if(t==2*n+n) break;//循环1.5个来回可得到最终结果
}
for(int i=1;i<=n;i++) cout<<o[i].max<<endl;//输出每棵灌木的最高高度
return 0;
}
蓝桥杯 2022 省赛 B 组 D 题(2023.3.15)
最新推荐文章于 2024-10-11 23:30:30 发布