2021 年 3 月青少年软编等考 C 语言四级真题解析

news/2024/12/11 13:26:31/

目录

  • T1. 酒鬼
    • 思路分析
  • T2. 重启系统
    • 思路分析
  • T3. 鸣人的影分身
    • 思路分析
  • T4. 宠物小精灵之收服
    • 思路分析

T1. 酒鬼

Santo 刚刚与房东打赌赢得了一间在 New Clondike 的大客厅。今天,他来到这个大客厅欣赏他的奖品。房东摆出了一行瓶子在酒吧上。瓶子里都装有不同体积的酒。令 Santo 高兴的是,瓶子中的酒都有不同的味道。房东说道:“你可以喝尽可能多的酒,但是一旦打开酒盖你就必须把它喝完,喝完一瓶后把它放回原处。还有一件最重要的事,你必须从左至右依次喝,并且不能连续喝三瓶,不然会给你带来坏运气。”

现在可怜的 Santo 站在酒吧前努力的想着,他到底应该喝哪几瓶才能使喝的酒最多呢?请帮助他找出他应该喝的酒瓶号,因为思考让他感到不安。

时间限制:2 s
内存限制:128 MB

  • 输入
    第一行一个整数 N N N,有 N N N 个酒瓶。 N ≤ 700 N\le 700 N700
    接下有 N N N 行,第 i + 1 i+1 i+1 行的数字代表酒瓶 i i i 中酒的体积。
  • 输出
    一个数字,喝的酒的最大总体积。遵守以上规则,使得三个连续瓶子中至少一个瓶子是满的。数据保证答案在 32 32 32 位整数范围内。
  • 样例输入
    6
    6
    10
    13
    9
    8
    1
    
  • 样例输出
    33
    

思路分析

此题考查动态规划,属于基础题。

定义 f i , 0 f_{i,0} fi,0 表示第 i i i 瓶酒没有喝的情况下可以喝到的酒的最大体积, f i , 1 f_{i,1} fi,1 表示第 i i i 瓶酒喝了的情况下可以喝到的酒的最大体积。

  • 若第 i i i 瓶酒没有喝,则可以考虑第 i − 1 i-1 i1 瓶酒喝与不喝;
  • 若第 i i i 瓶酒喝了,则考虑第 i − 1 i-1 i1 瓶酒没有喝,以及第 i − 2 i-2 i2 瓶酒没有喝但第 i − 1 i-1 i1 瓶酒喝了的情况。

不难得出状态转移方程为
f i , 0 = max ⁡ { f i − 1 , 0 , f i − 1 , 1 } f i , 1 = max ⁡ { f i − 1 , 0 , f i − 2 , 0 + a i − 1 } + a i f_{i,0} = \max\{f_{i-1,0}, f_{i-1,1}\} \\ f_{i,1} = \max\{f_{i-1,0}, f_{i-2,0} + a_{i-1}\} + a_i fi,0=max{fi1,0,fi1,1}fi,1=


http://www.ppmy.cn/news/1554226.html

相关文章

Ubuntu中安装配置交叉编译工具并进行测试

01-下载获取交叉编译工具的源码 按照博文 https://blog.csdn.net/wenhao_ir/article/details/144325141的方法,把imx6ull的BSP下载好后,其中就有交叉编译工具。 当然,为了将来使用方便,我已经把它压缩并传到了百度网盘&#xff…

matlab画曲线属性

给曲线加注释 用displayname Linewidth 是线条的大小 plot(theta, 10.*log10(sigma_rain25_D180_wind0), DisplayName, Rain 25 dBZ,LineWidth, 1.5); 在指定点画一个实心点,用’.‘ 画圈圈用’o‘ markersize是画点的大小 color指定颜色 plot(x, y, .…

Error:Kotlin: Module was compiled with an incompatible version of Kotlin.

问题:Error:Kotlin: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.1.15. 解决方法: 如下图所示 更改好,重新打开项目,进行运行&#xff…

【Unity】PC VR双模式下,删除所有子物体某个组件

最近做了一个双模式的项目,写了一个删除某个物体下的所有子物体的功能,最开始比较麻烦,然后看了某个大佬的思路,觉得挺不错的,使用递归直接搞定。

constexpr、const和 #define 的比较

constexpr、const 和 #define 的比较 一、定义常量 constexpr 定义:constexpr用于定义在编译期可求值的常量表达式。示例:constexpr int x 5;这里,x的值在编译期就确定为5。 const 定义:const表示变量在运行期间不能被修改&…

3D 生成重建017-StyleGaussian用文本或图像对你的3DGS内容进行风格迁移

3D 生成重建017-StyleGaussian用文本或图像对你的3DGS内容进行风格迁移 文章目录 0 论文工作1 论文方法2 实验结果 0 论文工作 论文 “StyleGaussian: Instant 3D Style Transfer with Gaussian Splatting” 介绍了一种新颖的3D风格迁移方法 StyleGaussian,该方法通…

网络知识:IP数据报知识详解

目录 一、IP数据报概念 二、IPV4数据报报头组成 三、IPV6数据报报头组成 今天给大家分享IP数据库相关的知识,希望对大家进一步了解IP协议提供一些帮助! 一、IP数据报概念 TCP/IP协议的网际层接收到传输层传递过来的数据单元,封装成向下(OSI模型的数据链路层、TCP/IP协…

UnityShaderLab-实现沿y轴溶解效果

实现思路: 实现思路同UnityShaderLab-实现溶解效果-CSDN博客 ShaderGraph实现: ShaderLab实现: 效果: 未完待续。。。