试题 J: 砍竹子 时间限制: 1.0s 内存限制: 256.0MB 本题总分:25 分 【问题描述】 这天,小明在砍竹子,他面前有 n 棵竹子排成一排,一开始第 i 棵竹子的 高度为 hi . 他觉得一棵一棵砍太慢了,决定使用魔法来砍竹子。魔法可以对连续的一 段相同高度的竹子使用,假设这一段竹子的高度为 H,那么使用一次魔法可以 把这一段竹子的高度都变为 ⌊ √ ⌊ H 2 ⌋ + 1⌋,其中 ⌊x⌋ 表示对 x 向下取整。小明想 知道他最少使用多少次魔法可以让所有的竹子的高度都变为 1。 【输入格式】 第一行为一个正整数 n,表示竹子的棵数。 第二行共 n 个空格分开的正整数 hi,表示每棵竹子的高度。 【输出格式】 一个整数表示答案。 【样例输入】 6 2 1 4 2 6 7 【样例输出】 5 【样例说明】 其中一种方案: 2 1 4 2 6 7 试题 J: 砍竹子 16 第十三届蓝桥杯大赛软件赛省赛 C/C++ 大学 B 组 → 2 1 4 2 6 2 → 2 1 4 2 2 2 → 2 1 1 2 2 2 → 1 1 1 2 2 2 → 1 1 1 1 1 1 共需要 5 步完成 【评测用例规模与约定】 对于 20% 的数据,保证 n ≤ 1000, hi ≤ 106。 对于 100% 的数据,保证 n ≤ 2 × 105 , hi ≤ 1018。

我觉得要注意的一点就是魔法只能和相邻竹子一起使用,前面调试发现数字一直对不上,研究了例题才发现这个小坑。

#include<stdio.h>
#include<math.h>
int main()
{int n,a[200000],num=0,max=0,t;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&a[i]);}for(int i=0;i<n;i++)//求最大值 {if(a[i]>=max){max=a[i];}   }while(max!=1){for(int i=0;i<n;i++)//求最大值 {if(a[i]>=max)max=a[i];   }/*魔法只在相邻位生效*/for(int i=0;i<n;i++)//最大值全部替换 {if(a[i]==max&&a[i+1]==max){a[i]=floor(sqrt(max/2+1));}if(a[i]==max&&a[i+1]!=max){a[i]=floor(sqrt(max/2+1));break;}}max=0;for(int i=0;i<n;i++)//求最大值 {if(a[i]>=max)max=a[i]; }num++;}printf("%d",num);return 0;
} 

2022年蓝桥杯砍竹子相关推荐

  1. 蓝桥杯——砍竹子问题(C++)

    问题描述 评测用例规模与约定 输入格式 输出格式 样例输入 6 2 1 4 2 6 7 样例输出 5 观察题目,不难想到的第一种方法,即利用贪心策略,每次砍断竹子最大的且连续的队列,由于队列中会出现很 ...

  2. 2022年蓝桥杯Python程序设计B组思路和代码分享

    2022年蓝桥杯Python程序设计B组比赛结束了,分享一下题目以及思路. 文章目录 A:排列字母 题目: 思路: 代码: B: 寻找整数 题目: 思路: 代码: C: 纸张尺寸 题目: 思路: 代码 ...

  3. 【PTA】2022年蓝桥杯及天梯赛赛前训练(C++练习)

    [PTA]2022年蓝桥杯及天梯赛赛前训练(C++练习) 前言 L1-1 嫑废话上代码 L1-2 猫是液体 L1-3 洛希极限 L1-4 调和平均 L1-5 胎压监测 L1-6 吃火锅 L1-7 前世 ...

  4. 2022年蓝桥杯省赛真题解析(C++B组)

    2022.04.09,我第一次参加蓝桥杯,我想说今年官方为了防止作弊,可谓煞费苦心,直接启用备用卷,难度直接到国赛难度.第一次参加,却让我输的那么彻底. 目录 A九进制转十进制​ B 顺子日期 C 刷 ...

  5. 2022年蓝桥杯:第十三届蓝桥杯大赛软件赛省赛C/C++大学B组真题(考后回顾,文末附真题链接)

    目录 第十三届蓝桥杯大赛软件赛省赛C/C++大学B组真题(考后回顾) 试题 A: 九进制转十进制 试题 B: 顺子日期 试题 C: 刷题统计 试题 D: 修剪灌木 试题 E: X 进制减法 试题 F: ...

  6. 【十三届蓝桥杯】2022年蓝桥杯省赛个人解答 C++ B 组

    又到了一年一度的蓝桥杯.尽管题目尽力去做了,临场感觉也不错,还是出现了各种疏漏.本文不保证正确性,相应地会注明已发现的不够妥当之处.答案仅为临场思考的扩充解释. A: 九进制转十进制 ​ 本题总分:5 ...

  7. 2022年蓝桥杯:第十三届蓝桥杯大赛软件赛省赛(全部正解做法代码 C/C++ B组)

    文章目录 试题 A: 九进制转十进制 问题描述 问题答案 试题 B: 顺子日期 问题描述 问题答案 试题 C: 刷题统计 问题描述 问题答案(正解) 试题 D: 修剪灌木 问题描述 问题答案(正解) ...

  8. 2022年蓝桥杯 省赛 C/C++ B组 真题解析

    本题解为非官方题解,可能存在包括但不限于下列问题 答案错误 填空题答案速览 1478 14(有争议) 目录 填空题 A 九进制转十进制 (5分) B 顺子日期 (5分) 编程题 C 刷题统计 (10分 ...

  9. 2022年蓝桥杯:第十三届蓝桥杯大赛软件赛省赛(题解C/C++B组)

    目录 试题 A: 九进制转十进制 问题描述 解题思路 问题答案 试题 B: 顺子日期 问题描述 问题答案 试题 C: 刷题统计 问题描述 解题思路 问题答案 试题 D: 修剪灌木 问题描述 解题思路 ...

  10. 2022年蓝桥杯C++B组题解 - 很详细

    本人这次侥幸省1,特做题解复习,哈哈哈- 1.进制转换(5分): 问题描述: 直接计算 2 + 2 * 9 + 2 * 9 * 9 * 9 答案: 1478 2.顺子日期(5分) 这题有争议: 主要在 ...

最新文章

  1. 济南python工资一般多少钱-济南Python+人工智能
  2. UVA10474 Where is the Marble?
  3. 《统一沟通-微软-实战》-3-部署-Exchange 2010-1-先决条件
  4. mysql innodb缓存策略之Buffer Pool
  5. ts语音自建服务器,自建TeamSpeak语音服务器,免费提供给专注游戏的玩家使用!...
  6. 无法启动因为计算机丢失ac1st16,重装系统后cad2006打不开.提示因为计算机中丢失ac1st16.dll...
  7. JDK源代码中最重要的4646个英语单词
  8. scratch 编程 镜像画
  9. oracle多个参数查询,Oracle 多参数查询语句
  10. 【2018】【论文笔记】最后一米太赫——
  11. oracle 18c ad登陆,Oracle 18c PSU
  12. 如何有效地阅读技术书籍
  13. 410款INTEL CPU详细技术资料速查表
  14. C#OOP之八 继承 接口和抽象类
  15. Eclipse使用Space键替换Tab键不生效的解决方案
  16. android实时刷新
  17. STM32F4 discovery 开发板 UART1 问题
  18. 一个mac地址对应多个ip_子接口的配置(一个网卡配置多个ip地址)
  19. WJMZBMR(陈立杰)在成都赛区开幕式上的讲话
  20. 【博客420】arp代理与arp代答

热门文章

  1. 蓝桥杯单片机头文件导入_CT107D蓝桥杯单片机编程笔记
  2. 笔记本上网显示连接不到服务器,笔记本无线网络连接不上
  3. 一个简单的Python暴力破解网站登录密码脚本
  4. java 连续数字_java 如何判断数字是否连续?求大神解答
  5. CPU 性能优化的几个思路
  6. Linux普通用户查看本机域名,域名的解析过程
  7. python从excel中读取数据然后随机选一个_从Python读取Excel复选框
  8. 微软新搜索引擎“必应(bing)”
  9. centos7安装Memcached
  10. Vue项目 在chrome页面崩溃:喔唷 崩溃了(总结)