当前位置: 首页 > news >正文

P1909 [NOIP 2016 普及组] 买铅笔

记录33

#include <bits/stdc++.h>
using namespace std;
int f(int n,int m,int p){if(n%m==0) return n/m*p;else return (n/m+1)*p;
}
int main(){int n,a,b,c,a1,a2,b1,b2,c1,c2;cin>>n>>a1>>a2>>b1>>b2>>c1>>c2;a=f(n,a1,a2);b=f(n,b1,b2);c=f(n,c1,c2);int t=min(a,min(b,c));cout<<t;return 0;
}

题目传送门https://www.luogu.com.cn/problem/P1909


突破点

商店不允许将铅笔的包装拆开,因此 P 老师可能需要购买超过 n 支铅笔才够给小朋友们发礼物。👉打包思想

在商店每种包装的数量都足够的情况下,要买够至少 n 支铅笔最少需要花费多少钱。

👉求最小花费


思路

  1. 将三种包装需要的钱都求出来
  2. 进行比较后取出最小的方案

代码解析

#include <bits/stdc++.h>
using namespace std;
int f(int n,int m,int p){if(n%m==0) return n/m*p;else return (n/m+1)*p;
}
int main(){......return 0;
}

设置一个函数,传进来需要的参数,(需要数量,包装内铅笔的数量,价格)

最后返回花费的钱

if(n%m==0) return n/m*p;  如果数量刚好够,就直接算价钱

else return (n/m+1)*p;  如果不够就多买一份,然后算价钱

#include <bits/stdc++.h>
using namespace std;
int f(int n,int m,int p){if(n%m==0) return n/m*p;else return (n/m+1)*p;
}
int main(){int n,a,b,c,a1,a2,b1,b2,c1,c2;cin>>n>>a1>>a2>>b1>>b2>>c1>>c2;a=f(n,a1,a2);b=f(n,b1,b2);c=f(n,c1,c2);int t=min(a,min(b,c));cout<<t;return 0;
}

int t=min(a,min(b,c));  对三种包装进行价格比较,取出最小的价格


补充

在CSP-J算法竞赛中,模拟问题要求选手根据题目描述的规则或流程,通过编程实现对问题的模拟。这类问题考察选手对问题的理解能力、逻辑思维能力以及代码实现能力。以下是解决模拟问题的思路和技巧:

1. 仔细阅读题目

  • 理解问题描述:明确题目要求,理解每个操作的具体含义。

  • 确定输入输出格式:清楚输入数据的格式和输出结果的格式要求。

2. 分析问题步骤

  • 分解问题:将复杂问题分解为多个小步骤,逐步解决。

  • 确定模拟流程:明确每个步骤的操作对象和操作顺序。

3. 设计数据结构

  • 选择合适的数据结构:根据问题需求选择数组、链表、队列等数据结构。

  • 初始化数据:根据题目初始条件设置数据的初始状态。

4. 模拟操作

  • 逐步模拟:按照题目规则逐步模拟每个操作。

  • 状态更新:在模拟过程中及时更新数据结构中的状态。

5. 处理边界条件

  • 考虑特殊情况:如输入为空、极端值等。

  • 验证边界情况:确保代码在边界条件下也能正确运行。

6. 代码实现

  • 遵循编码规范:使用有意义的变量名,添加注释,提高代码可读性。

  • 逐步实现:先实现核心逻辑,再逐步完善细节。

7. 测试与验证

  • 测试样例:使用题目提供的样例输入验证代码的正确性。

  • 自定义测试用例:设计边界用例和特殊用例,检查代码的健壮性。

8. 优化代码

  • 时间优化:减少不必要的计算,采用更高效算法。

  • 空间优化:合理使用内存,避免内存溢出。

9. 调试技巧

  • 输出中间结果:在关键步骤输出变量值,检查逻辑是否正确。

  • 使用调试工具:利用调试器定位问题。

10. 总结与复盘

  • 总结经验:记录解题过程中遇到的问题和解决方法。

  • 复盘优化:思考是否有更好的解决方案或改进空间。

通过以上步骤,可以系统地解决模拟问题,确保代码的正确性和高效性。

http://www.dtcms.com/a/614704.html

相关文章:

  • 萍乡网站开发公司k8s wordpress mysql
  • C++条件判断与循环(二)(算法竞赛)
  • 浏阳建设局网站广告电商怎么做
  • 微信朋友圈做网站推广赚钱吗网站建设费专票会计分录
  • 友元的作用与边界
  • 如何提高英语口语?
  • (6)框架搭建:Qt实战项目之主窗体快捷工具条
  • 做阿里云网站空间建设工程施工合同实例
  • web中间件——Tomcat
  • Linux中管理员和一般用户的用法小结
  • html手机网站模板html5网页设计教程
  • 【Mac】开发环境使用/维护
  • 网站代码设计惠州网站建设排名
  • 精美网站建设wordpress gae
  • 【STM32MP157 异核通信框架学习篇】(10)Linux下Remoteproc相关API (下)
  • 企业建站服务退役军人215专业品牌网站建设
  • 杭州模板网站建站做国外夏令营的网站
  • 基于SpringBoot的房屋租赁管理系统【协同过滤推荐算法+可视化统计+合同签署】
  • 【MySQL | 基础】函数
  • Java Set
  • (60页PPT)数据治理与数据安全防护方案(附下载方式)
  • DSAC-T算法实现控制倒立摆
  • 学校网站建设需要多少钱wordpress添加首页导航
  • 开发区网站制作公司wordpress+系统安装
  • 什么是性能测试?它的分类?(负载测试、压力测试、并发测试等)
  • 4.3 Go 协程:goroutine
  • 查询缓存8.0
  • 【PostgreSQL】查询所有表和视图
  • 页面布局练习
  • Cortex-M3 02-地址映射