【蓝桥杯省赛真题02】C++猫吃鱼 第十届蓝桥杯青少年创意编程大赛 算法思维 C++编程省赛真题解

目录

C++猫吃鱼

一、题目要求

1、编程实现

2、输入输出

二、算法分析

三、程序编写

四、运行结果

五、考点分析

七、推荐资料


C++猫吃鱼

第十届蓝桥杯青少年创意编程大赛C++选拔赛真题

一、题目要求

明明家从1号站点出发,开车去旅游,一共要经过n个站点,依次为 2、3.由于明明带上了心爱的小猫,在每个站点都要为小猫提供一条鱼用做美餐(包括1号站点)。除了1号站点只能吃1号站点买的鱼,其他站点既可以吃当地买的鱼,也可吃之前经过的站点买了存入车载冰箱中的鱼,但车载冰箱消耗的电能来自汽油,所以每条鱼用冰箱保存到下一站的费用与各个站点的汽油价格有关;为使问题简化,我们约定:
(1)车从某站开出时油箱中都是此站点刚加的汽油。
(2)车载冰箱能容纳一路上需要的所有鱼。
即:每条鱼的费用既包括购买时的费用,也包括用冰箱保存鱼的费用。

1、编程实现

为了降低小猫吃鱼的总代价,明明预先,上网査到了这几个站点的鱼价和汽油价格。并据此算出每个站点买一条鱼的费用以及从该站点到下一站用冰箱保存一条鱼的费用。你能帮明明算出这一路上小猫吃鱼的最小总费用吗?

2、输入输出

输入描述:第一行: 站点数n,1<n<100
接下来的n行:每行两个以空格分隔的正整数,表示,这一站买一条鱼的费用,以及从这一站把每条鱼保存到下一站的费用,两个费用均为小于 10000 的正整数

输出描述:只有一行,一个整数,即最小总费用

输入样例:

5
6 3
7 1
3 2
8 3
9 5

输出样例:

29

样例数据分析:

  • 第一行数据5代表一共5站
  • 第二行数据63代表本站购买鱼6元,运费3元,第一站必须一定先购买一条 总花费6元
  • 第三行数据71代表本站购买鱼7元,运费1元,从上一站最小花费+运费9元大于本站购买的费用7,所以选择从本站购买鱼总花费 6+7=13元
  • 第四行数据32代表本站购买鱼3元,运费2元,从上一站最小花费+运费8元大于本站购买的费用3,所以选择从本站购买鱼,总花费 6+7+3=16元
  • 第五行数据83代表本站购买鱼8元,运费3元从上一站最小花费+运费5元,小于本站购买的费用8,所以选择从上站花费加上本站运费总花赛6+7+3+5=21元
  • 第六行数据95代表本站购买鱼9元 运费5元,从上一站最小花费+运费8元,小于本站购买的费用9,所以选择从上一站花费加上本站运费总花费6+7+3+5+8=29元
  • 最终总花费为29元 

二、算法分析

  1. 解觉本题可以使用多种方法,常见的有贪心、动态规划等
  2. 这里采用贪心算法实现,即在每到达一个站点计算出当前站点购买鱼还是之前站点购买鱼加上运费两者之间取最小值;关键就在于如何确定之前站点购买鱼的成本计算,可以通过变量用来保存当前最小费用,然后加入到总的成本中;接着再次更新当前站点保留的最小成本的鱼经过当前站点运送到下一个站点的最小费用(即加上当前站点的运算费用,作为到达下一个站点的前面购买鱼的最小费用)
  3. 最后遍历完所有的站点就得到了最小成本

三、程序编写

#include <bits/stdc++.h>
using namespace std;
int fish[101][2];
int main()
{int n;cin >> n;for(int i=1;i<=n;i++){cin >> fish[i][0] >> fish[i][1];}int minn = 1e9,t = 0;for(int i=1;i<=n;i++){minn = min(minn,fish[i][0]);t = t + minn;minn += fish[i][1];}cout << t << endl;
}

 本文作者:小兔子编程 作者首页:小兔子编程-CSDN博客

四、运行结果

5
6 3
7 1
3 2
8 3
9 529

五、考点分析

难度级别:容易,这题相对而言还是比较简单的,具体主要考察如下:

  1. 充分掌握变量及数组的定义和使用
  2. 学会贪心算法或者动态规划算法的使用
  3. 学会输入流对象cin的使用,从键盘读入相应的数据
  4. 学会for循环的使用,在确定循环次数的时候推荐使用学会
  5. 学会if条件判断语句的使用,满足一定条件才能执行后面的语句
  6. 学会if...else...双分支语句的使用,条件满足执行一种处理,不满足执行另一种处理
  7. 掌握输出流对象cout的使用,与流插入运算符 << 结合使用将对象输出到终端显示
  8. 学会分析题目,算法分析,将复杂问题模块化,简单化,从中找到相应的解题思路
  9. 充分掌握变量定义和使用、分支语句、循环语句和贪心算法知识的使用及输入输出的用法

PS:方式方法有多种,小朋友们只要能够达到题目要求即可!

七、推荐资料

  • 所有考级比赛学习相关资料合集【推荐收藏】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/894192.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无公网IP 外网访问 本地部署夫人 hello-algo

hello-algo 是一个为帮助编程爱好者系统地学习数据结构和算法的开源项目。这款项目通过多种创新的方式&#xff0c;为学习者提供了一个直观、互动的学习平台。 本文将详细的介绍如何利用 Docker 在本地安装部署 hello-algo&#xff0c;并结合路由侠内网穿透实现外网访问本地部署…

《DeepSeek 实用集成:大模型能力接入各类软件》

DeepSeek 实用集成 awesome-deepseek-integration/README_cn.md at main deepseek-ai/awesome-deepseek-integration 将 DeepSeek 大模型能力轻松接入各类软件。访问 DeepSeek 开放平台来获取您的 API key。 English/简体中文 应用程序 Chatbox一个支持多种流行LLM模型的桌…

基础项目实战——学生管理系统(c++)

目录 前言一、功能菜单界面二、类与结构体的实现三、录入学生信息四、删除学生信息五、更改学生信息六、查找学生信息七、统计学生人数八、保存学生信息九、读取学生信息十、打印所有学生信息十一、退出系统十二、文件拆分结语 前言 这一期我们来一起学习我们在大学做过的课程…

实现基础的shell程序

1. 实现一个基础的 shell 程序&#xff0c;主要完成两个命令的功能 cp 和 ls 1.1.1. cp 命令主要实现&#xff1a; ⽂件复制⽬录复制 1.1.2. ls 命令主要实现&#xff1a; ls -l 命令的功能 1.1. 在框架设计上&#xff0c;采⽤模块化设计思想&#xff0c;并具备⼀定的可扩…

matlab提取滚动轴承故障特征

为了精准、稳定地提取滚动轴承故障特征&#xff0c;提出了基于变分模态分解和奇异值分解的特征提取方法&#xff0c;采用标准模糊C均值聚类(fuzzy C means clustering, FCM)进行故障识 别。对同一负荷下的已知故障信号进行变分模态分解&#xff0c;利用 奇异值分解技术进一步提…

ADC 精度 第二部分:总的未调整误差解析

在关于ADC精度的第一篇文章中&#xff0c;我们阐述了模拟-数字转换器&#xff08;ADC&#xff09;的分辨率和精度之间的区别。现在&#xff0c;我们可以深入探讨影响ADC总精度的因素&#xff0c;这通常被称为总未调整误差&#xff08;TUE&#xff09;。 你是否曾好奇ADC数据表…

记录一次Sqoop从MySQL导入数据到Hive问题的排查经过

个人博客地址:记录一次Sqoop从MySQL导入数据到Hive问题的排查经过 | 一张假钞的真实世界 问题描述 MySQL中原始数据有790W+的记录数,在Sqoop抽取作业成功的情况下在Hive中只有500W左右的记录数。 排查过程 数据导入脚本Log 通过Log可以发现以下信息: 该Sqoop任务被分解…

渲染流程概述

渲染流程包括 CPU应用程序端渲染逻辑 和 GPU渲染管线 一、CPU应用程序端渲染逻辑 剔除操作对物体进行渲染排序打包数据调用Shader SetPassCall 和 Drawcall 1.剔除操作 视椎体剔除 &#xff08;给物体一个包围盒&#xff0c;利用包围盒和摄像机的视椎体进行碰撞检测&#xf…

CF 764B.Timofey and cubes(Java实现)

题目分析 输入n个数字&#xff0c;首尾交换&#xff0c;奇数对换&#xff0c;偶数对不换 思路分析 存入数组&#xff0c;遍历时判断i%20时(数组下标0开始&#xff0c;所以题目分析没有错)&#xff0c;对换 代码 import java.util.*;public class Main {public static void ma…

Xposed-Hook

配置 Xposed 模块的 AndroidManifest.xml&#xff1a; <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"package"your.package.name"><applicationandr…

9【如何面对他人学习和生活中的刁难】

我们在学习的过程中&#xff0c;会遇到很多来自于他人的刁难与嘲讽&#xff0c;如果处理不好&#xff0c;这会大大影响我们的心情&#xff0c;从而影响学习的效率 我建议&#xff0c;如果你学习或生活中也遇到了类似的问题&#xff0c;不要去生气&#xff0c;更不要发生冲突&a…

Transformer+vit原理分析

目录 一、Transformer的核心思想 1. 自注意力机制&#xff08;Self-Attention&#xff09; 2. 多头注意力&#xff08;Multi-Head Attention&#xff09; 二、Transformer的架构 1. 整体结构 2. 编码器层&#xff08;Encoder Layer&#xff09; 3. 解码器层&#xff08;Decoder…

@Inject @Qualifier @Named

Inject Qualifier Named 在依赖注入&#xff08;DI&#xff09;中&#xff0c;Inject、Qualifier 和 Named 是用于管理对象创建和绑定的关键注解。以下是它们的用途、依赖配置和代码示例的详细说明&#xff1a; 1. 注解的作用 Inject&#xff1a;标记需要注入的构造函数、字段…

WPS mathtype间距太大、显示不全、公式一键改格式/大小

1、间距太大 用mathtype后行距变大的原因 mathtype行距变大到底怎么解决-MathType中文网 段落设置固定值 2、显示不全 设置格式&#xff1a; 打开MathType编辑器点击菜单栏中的"格式(Format)"选择"间距(Spacing)"在弹出的对话框中调整"分数间距(F…

C# 添加、替换、提取、或删除Excel中的图片

在Excel中插入与数据相关的图片&#xff0c;能将关键数据或信息以更直观的方式呈现出来&#xff0c;使文档更加美观。此外&#xff0c;对于已有图片&#xff0c;你有事可能需要更新图片以确保信息的准确性&#xff0c;或者将Excel 中的图片单独保存&#xff0c;用于资料归档、备…

Python练习(2)

今日题单 吃鱼还是吃肉 PTA | 程序设计类实验辅助教学平台 降价提醒机器人PTA | 程序设计类实验辅助教学平台 幸运彩票 PTA | 程序设计类实验辅助教学平台 猜帽子游戏 PTA | 程序设计类实验辅助教学平台 谁管谁叫爹 PTA | 程序设计类实验辅助教学平台 就不告诉你 PTA | 程…

当当网近30日热销图书的数据采集与可视化分析(scrapy+openpyxl+matplotlib)

当当网近30日热销图书的数据采集与可视化分析(scrapy+openpyxl+matplotlib) 当当网近30日热销书籍官网写在前面 实验目的:实现当当网近30日热销图书的数据采集与可视化分析。 电脑系统:Windows 使用软件:Visual Studio Code Python版本:python 3.12.4 技术需求:scrapy、…

Formality:黑盒(black box)

相关阅读 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482 简介 在使用Formality时&#xff0c;黑盒(black box)的概念很重要&#xff0c;指的是一个其功能未知的设计。黑盒通常用于设计中不可综合的组件&#xff0c;包括RAM…

开源2+1链动模式AI智能名片S2B2C商城小程序:利用用户争强好胜心理促进分享行为的策略研究

摘要&#xff1a;随着互联网技术的快速发展和社交媒体的普及&#xff0c;用户分享行为在企业营销中的作用日益凸显。本文旨在探讨如何利用用户的争强好胜心理&#xff0c;通过开源21链动模式AI智能名片S2B2C商城小程序&#xff08;以下简称“小程序”&#xff09;促进用户分享行…

八股学习 微服务篇

微服务篇 常见面试内容Spring Cloud 常见组件注册中心Ribbon负载均衡策略服务雪崩 常见面试内容 Spring Cloud 常见组件 Spring Cloud有5个常见组件&#xff1a; Eureka/Nacos:注册中心&#xff1b;Ribbon:负载均衡&#xff1b;Feign:远程调用&#xff1b;Hystrix/Sentinel:服…