CSDN 编程竞赛二十八期题解
竞赛总览
CSDN 编程竞赛二十八期:比赛详情 (csdn.net)
本期竞赛的题目都很简单,但是非常考验读题和编码速度。这一次没有遇到bug,竞赛体验较好。
竞赛题解
题目1、小Q的鲜榨柠檬汁
团建活动是大家所想要的。小Q给大家准备了鲜橙汁。现在有n个朋友买回了k瓶饮料,每瓶有l毫升的饮料,同时还买回了c个柠檬,每个柠檬可以切成d片,p克盐。已知每个朋友需要nl毫升的饮料,一片柠檬,以及np克盐。小Q想知道每个朋友最少可以喝多少杯饮料。
#include <cstdio>int min (int a, int b) {if (a < b) return a;return b;
}int main () {int n, k, l, c, d, p, nl, np;scanf ("%d %d %d %d %d %d %d %d", &n, &k, &l, &c, &d, &p, &nl, &np);int result = k * l / nl / n;result = min (result, c * d / n);result = min (result, p / np / n);printf ("%d", result);return 0;
}
此题看起来很吓人,其实特别水。题目描述略有一点问题。小Q想知道每个朋友最少可以喝多少杯饮料,其实是要计算每个朋友最多能够喝到多少杯饮料,并且要平均分配,这里实际上是在表达一种期望。否则,如果按照其主观意愿,最少一定可以喝到零杯饮料。
首先需要计算出原材料能够配置饮料的份数。
水:k瓶,l毫升,每份饮料需要nl毫升水。一共可以配置k*l/nl份饮料。
柠檬:c个,每个切d片,每份饮料需要1片柠檬。一共可以配置c*d/1份饮料,即c*d份饮料。
盐:p克,每份饮料需要np克盐。一共可以配置p/np份饮料。
实际可以生产的饮料份数为三者中的最小值。
计算出总份数之后,将饮料平均分给所有人饮用,向下取整,即可得到最终答案。
题目2、三而竭
一鼓作气再而衰三而竭。小艺总是喜欢把任务分开做。小艺接到一个任务,任务的总任务量是n。第一天小艺能完成x份任务。第二天能完成x/k,第t天能完成x/(k^(t-1))。小艺想知道自己第一天至少完成多少才能完成最后的任务。
题目的输入为n和k。
直接以第一天能完成x份任务为基准,计算k天能完成的总任务量。
int calc (int x, int k) {int result = 0;while (x > 0) {result += x;x /= k;}return result;
}
如果这个总任务量达到n,说明能够完成任务。
当然,如果第一天直接完成n份任务,最终一定能够完成任务。
所以,答案在1到n之间。既要完成任务,又要使得x尽可能小,正确答案需要同时满足这两点。
题目3、隧道逃生
小海豚喜欢打游戏,现在它在操纵游戏人物小C逃脱废弃的隧道,逃生装置在小C的前方X米远的位置。但是游戏机只有两个按钮:前进和后退。按前进,小C会前进m米;按后退,小C会后退n米。小海豚必须设法把小C送到逃生装置上,方能逃离隧道,请你帮帮小海豚,告诉它至少要操作多少次,才能通关。
#include <cstdio>int main () {int x, m, n;scanf ("%d %d %d", &x, &m, &n);int pos = 0, t = 0;while (pos != x) {if (pos < x) pos = pos + m;else if (pos > x) pos = pos - n;else break;t++;}printf ("%d", t);return 0;
}
用一个变量记录当前角色所在位置。当前位置小于终点位置时,前进;当前位置大于终点位置时,后退。记录操作次数,暴力模拟即可。
题目4、收件邮箱
已知字符串str表示邮箱的不标准格式。其中”.”会被记录成”dot”,”@”记录成”at”。写一个程序将str转化成可用的邮箱格式。可用格式中,字符串除了开头结尾所有”dot”,都会被转换;”at”只会被转化一次,开头结尾的不转化。
#include <cstdio>
#include <iostream>
#include <string>int main () {std::string str;std::cin >> str;int pos;pos = str.find ("at", 1);str = str.substr (0, pos) + "@" + str.substr (pos + 2, str.length () - pos - 2);int start = 0, end = 0;if (str.substr (0, 2) == "at") {str = str.substr (2, str.length () - 2);start = 1;} else if (str.substr (0, 3) == "dot") {str = str.substr (3, str.length () - 3);start = 2;}if (str.substr (str.length () - 2, 2) == "at") {str = str.substr (0, str.length () - 2);end = 1;} else if (str.substr (str.length () - 3, 3) == "dot") {str = str.substr (0, str.length () - 3);end = 2;}pos = str.find ("dot");while (pos > -1) {str = str.substr (0, pos) + "." + str.substr (pos + 3, str.length () - pos - 3);pos = str.find ("dot");}if (start == 1) str = "at" + str; else if (start == 2) str = "dot" + str;if (end == 1) str += "at"; else if (end == 2) str += "dot";printf ("%s", str.c_str ());return 0;
}
解决此题需要四个步骤。
1、替换at符号。需要注意的是, 开头结尾的不转化,因此,忽略位置0,从位置1开始寻找at即可。
2、有三种可选的开头类型:at开头、dot开头、其它(结尾类型同理)。判断完成之后,去掉开头结尾的特殊符号。
3、替换dot符号。
4、恢复开头结尾的符号。
相关文章:
CSDN 编程竞赛二十八期题解
竞赛总览 CSDN 编程竞赛二十八期:比赛详情 (csdn.net) 本期竞赛的题目都很简单,但是非常考验读题和编码速度。这一次没有遇到bug,竞赛体验较好。 竞赛题解 题目1、小Q的鲜榨柠檬汁 团建活动是大家所想要的。小Q给大家准备了鲜橙汁。现在…...
DML数据操纵语言
DML数据操纵语言 目录概述一、插入语句(一)方式一(二)方式二:(三)两种方式的比较二、修改语句三、删除语句概述方式一:delete方式二:truncate语句 【清空语句】delete VS truncate 【面试题!!!】概述 数据…...
【Hello Linux】Linux工具介绍 (gcc/g++ gdb)
作者:小萌新 专栏:Linux 作者简介:大二学生 希望能和大家一起进步! 本篇博客简介:介绍Linux的常用工具gcc/g 以及gbd Linux工具介绍gcc / ggcc / g的作用为什么语言要经过这四步才能变为可执行指令gcc / g语法预处理编…...
TeamFiltration:一款针对O365 AAD账号安全的测试框架
关于TeamFiltration TeamFiltration是一款针对O365 AAD账号安全的跨平台安全测试框架,在该工具的帮助下,广大研究人员可以轻松对O365 AAD账号进行枚举、喷射、过滤和后门植入等操作。TeamFiltering与CrackMapExec非常相似,它可以创建并维护一…...
你是真的“C”——Visual Studio 2022(VS2022)编译器 -—实用调试技巧
你是真的“C”——Visual Studio 2022(VS2022)编译器 -—实用调试技巧😎前言🙌1. 什么是bug?🙌2. 调试是什么?有多重要?🙌2.1 调试是什么?2.2 调试的基本步骤…...
数据结构与算法:7种必须会的排序以及3种非基于比较排序
1.什么是排序 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序…...
数据库用户数
Oracle的用户数 oracle软件内部并没对用户数做限制,买5个用户数,指你买了5个user licences,从法律上只能连5个session,超过5个的连接都是非法的。oracle不给你技术上的限制,可是给你法律上的限制。 一般来讲…...
nginx如何用html显示多个图片并加入播放链接
需求背景通过nginx来做个点播服务,ffmpeg截取视频中的某一帧作为视频的封面,前端页面展示这个封面,,并链接到对应的视频播放链接,加载播放器进行播放简单介绍一下ffmpeg截取视频中的某一帧的方式截取视频的第一帧&…...
【蓝桥杯集训·每日一题】Acwing 3729. 改变数组元素
文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴一维差分区间合并一、题目 1、原题链接 3729. 改变数组元素 2、题目描述 给定一个空数组 V 和一个整数数组 a1,a2,…,an。 现在要对数组 V 进行 n 次操作。 第 i 次操作的…...
springmvc执行流程
文章目录前言一、springMVC请求执行流程二、组件说明以下组件通常使用框架提供实现:总结前言 本篇文章是对springmvc的补充 接上篇文章springmvc入门https://blog.csdn.net/l_zl2021/article/details/127120873 一、springMVC请求执行流程 1.用户发送请求至前端控制…...
SpringMVC(2)
一)接受到JSON格式的数据:使用RequestBody来进行接收 ResponseBody表示的是返回一个非页面的数据 RequestBody表示的是后端要接受JSON格式的数据 一)接收单个格式的JSON格式的数据,我们使用一个对象来进行接收 1)我们之前接受GET请求中的queryString中的参数的时候&…...
Jackson序列化json时null转成空串或空对象
在项目中可能会遇到需要将null转"",可以通过以下方法解决。一:添加JacksonConfig 配置import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.databind.JsonSerializer;import com.fasterxml.jackson.databind.Objec…...
如何将Python的上级目录的文件导入?【from.import】
假如有如下目录: -python ----file1 ---------file1_1 ------------------pfile1_1.py ---------pfile1.py ----file2 ---------pfile2.py ----pfile.py ----data.py 在pfile1_1.py中想要将pfile.py 导入怎么办? 首先将其上级目录添加到系统目…...
Java实现碧蓝航线连续作战
目录一.实现功能二.主要思路三.代码实现四.用exe4j生成.exe程序五.最终效果六.代码开源一.实现功能 主线图作战结束到结算页自动点击再次前往 二.主要思路 判断是否进入了结算界面:记录结算界面某个像素点的RGB值,每隔3秒对这个像素点进行比对 移动鼠标…...
Docker笔记
文章目录1.docker为什么会出现2.docker是什么3.传统虚拟机和容器的对比3.1虚拟机3.2容器虚拟化技术3.3两者对比3.4为什么Docker会比VM虚拟机快?4.docker能干嘛6.docker的应用场景7.docker三要素一:镜像(Image)二:容器&…...
情人节使用AI TOOL来创建一个甜言蜜语的女伴
一、首先使用chatgpt生成一段情侣间的对话,需要反复几次,达到满意的程度,然后将女方的话归在一起。 这是一个情侣私下谈话的场景,女方表示对男朋友精心准备的情人节安排和礼物表示很满意 二、 打开网站:https://lexic…...
G-GhostNet(IJCV 2022)原理与代码解析
paper:GhostNets on Heterogeneous Devices via Cheap Operationscode:https://github.com/huawei-noah/Efficient-AI-Backbones/blob/master/g_ghost_pytorch/g_ghost_regnet.py前言本文提出了两种轻量网路,用于CPU端的C-GhostNet和用于GPU端…...
Ethercat系列(5)TWcat3激活过程的协议分析(续1)
顺序写系统时间偏移从-》主顺序写时间延迟主-》从从-》主顺序写分布式时钟启动主-》从从-》主读多重写系统时间主-》从从-》主顺序写应用层控制主-》从从-》主顺序读错误计数器主-》从从-》主顺序读应用层状态主-》从从-》主顺序读应用层,广播写错误计数器主-》从从…...
QT入门Input Widgets之QScrollBar
目录 一、界面布局功能 1、界面位置介绍 2、控件界面基本属性 2.1 horizontalScrollBar界面属性 3、样式设置 此文为作者原创,创作不易,转载请标明出处! 一、界面布局功能 1、界面位置介绍 QScrollBar主要分为两种,一种垂直…...
【ML】基于机器学习的心脏病预测研究(附代码和数据集,多层感知机模型)
写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大努力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 之前创作过心脏病预测研究文章如下: 【ML】基于机器学习的心脏病预测研究(附代码和数据集,逻辑回归模型) 【ML】基于机…...
颠覆认知:零基础掌握算法解析的可视化学习新范式
颠覆认知:零基础掌握算法解析的可视化学习新范式 【免费下载链接】ai-by-hand-excel 项目地址: https://gitcode.com/gh_mirrors/ai/ai-by-hand-excel 你是否也曾在AI学习的道路上被满屏的数学公式困住?当理论教程翻到第三页就开始头晕ÿ…...
MusePublic模型解释性研究:注意力可视化分析工具开发
MusePublic模型解释性研究:注意力可视化分析工具开发 1. 引言 当我们看到一幅由AI生成的精美画作时,常常会好奇:模型到底是根据什么来创作这幅作品的?哪些部分吸引了它的注意力?又是如何做出每一个绘画决策的&#x…...
OpenCode终极指南:开源AI编程助手如何重塑你的开发体验
OpenCode终极指南:开源AI编程助手如何重塑你的开发体验 【免费下载链接】opencode 一个专为终端打造的开源AI编程助手,模型灵活可选,可远程驱动。 项目地址: https://gitcode.com/GitHub_Trending/openc/opencode 你是否厌倦了在多个A…...
SDMatte透明物体模式深度解析:为什么玻璃杯开启后边缘断裂明显减少?
SDMatte透明物体模式深度解析:为什么玻璃杯开启后边缘断裂明显减少? 1. 透明物体抠图的挑战 透明物体抠图一直是图像处理领域的难题。当我们尝试用传统方法抠取玻璃杯、薄纱这类半透明物体时,经常会遇到以下问题: 边缘断裂&…...
AI热潮重塑中国云市场定价策略
又有两家中国云巨头宣布其服务价格上调,这再次归因于人工智能对其供应链的影响。 某中心云率先行动,昨日宣布将产品价格上调5%至34%,并表示“全球AI需求激增和供应链成本上升”使得涨价不可避免。 某机构云紧随其后,宣布“为确保平…...
3个技巧教你用抖音批量下载工具实现抖音资源高效管理
3个技巧教你用抖音批量下载工具实现抖音资源高效管理 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 还在为抖音视频逐一下载烦恼?面对喜欢的创作者主页,想要收藏全部作品却要手动点击…...
LedPipelines:嵌入式LED声明式流水线动画架构
1. LedPipelines 库深度解析:面向嵌入式LED系统的声明式动画流水线架构1.1 工程定位与设计动机在嵌入式LED控制系统开发中,工程师长期面临一个根本性矛盾:基础效果易实现,复合效果难管理。以WLED为代表的主流方案虽提供丰富预设&a…...
Phi-3-vision-128k-instruct 对比评测:与主流视觉语言模型效果横评
Phi-3-vision-128k-instruct 对比评测:与主流视觉语言模型效果横评 1. 开场白:为什么需要这场对比 最近视觉语言模型领域真是热闹非凡,各家大模型你方唱罢我登场。作为从业者,我们最关心的是:这些号称"最强&quo…...
Chatterbox 6大核心:企业级高可用部署与性能优化指南
Chatterbox 6大核心:企业级高可用部署与性能优化指南 【免费下载链接】chatterbox Open source TTS model 项目地址: https://gitcode.com/GitHub_Trending/chatterbox7/chatterbox Chatterbox作为开源TTS模型,在企业级应用中需要构建高可用架构、…...
5个颠覆认知的Java接口测试自动化平台实践指南
5个颠覆认知的Java接口测试自动化平台实践指南 【免费下载链接】TestHub 接口自动化测试-持续集成测试 项目地址: https://gitcode.com/gh_mirrors/te/TestHub 在现代软件工程中,Java接口测试自动化框架已成为保障系统质量的关键基础设施。TestHub作为一款专…...
