蓝桥杯C/C++百校真题赛(1期)修剪灌木-创新互联

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

成都创新互联是专业的龙凤网站建设公司,龙凤接单;提供成都网站设计、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行龙凤网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

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

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

输入格式
一个正整数 N, 含义如题面所述。

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

样例输入
3

样例输出
4
2
4

因为树木都是在傍晚修剪,所以树木在修剪前已经长了一厘米,这个是我们要注意的。

所以树木共有三个时间段生长 :(设n为树木棵树,i为第几棵树)

1、在第一轮开始修剪也就是从左向右修剪时,这期间的天数就是该灌木在这个时间间隔内能长到的高度。也就是 i;下图可助理解

2、.一个是从左向右修剪过该灌木后继续向右然后调转方向向左,到再次修剪到该灌木的这一天。这期间的天数就是该灌木在这个时间间隔内能长到的高度。也就是2*(n-i)。下图可验证

3、一个是从右向左修剪过该灌木后继续向左然后调转方向向右,到再次修剪到该灌木的这一天。这期间的天数就是该灌木在这个时间间隔内能长到的高度。也就是2*(i-1);下图可验证

则最高高度就是在这三个高度里面选择大值;

#includeint main()
{
  int i,a,b;
  scanf("%d",&a);
  for(i=1;i<=a;i++){
    printf("%d\n",N(i,2*(a-i),2*(i-1)));
  }
  return 0;
}
int N(int b,int c,int d){
  if(b>d){
    if(b>c){
      return b;
    }
    else{
      return c;
    }
  }
  else{
    if(c>d){
      return c;
    }
    else{
      return d;
    }
  }
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前标题:蓝桥杯C/C++百校真题赛(1期)修剪灌木-创新互联
网页路径:http://ybzwz.com/article/dooose.html