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

洛谷 B4409:[GESP202509 一级] 商店折扣 ← 模拟算法

【题目来源】
https://www.luogu.com.cn/problem/B4409

【题目描述】
商店正在开展促销活动,给出了两种方案的折扣优惠。第一种方案是购物满 x 元减 y 元;第二种方案是直接打 n 折,也就是说价格变为原先的 n/10。这里的 x,y,n 均是正整数,并且 1≤y<x,1≤n<10。
需要注意的是,第一种方案中满减优惠只能使用一次。例如购物满 10 元减 3 元时,若挑选了价格总和为 33 元的物品,只能减免 3 元,需要支付 30 元。
小明在商店挑选了价格总和为 p 元的物品,结账时只能使用一种优惠方案。小明最少需要支付多少钱呢?

【输入格式】
四行,四个正整数 x,y,n,p,含义见题目描述。

【输出格式】
一行,一个小数,表示小明最少需要支付多少钱,保留两位小数。

【输入样例】
8
7
2
11

【输出样例】
2.20

【数据范围】
对于所有测试点,保证 1≤y<x≤100,1≤n<10,1≤p≤100。

【算法分析】
本题看似简单,实则一堆坑点。
(1)使用“购物满 x 元减 y 元”的方案,前提是 p>=x,且只能使用一次。
(2)使用“直接打 n 折”的方案,注意要乘以 0.1,以保证得到的是浮点数。
(3)使用 float v=p; 将 v 初始化为 p。
(4)将浮点数的运算,能用加减,不要用乘除。

【算法代码】

#include <bits/stdc++.h>
using namespace std;int main() {int x,y,n,p;cin>>x>>y>>n>>p;float u=p*n*0.1;float v=p;if(p>=x) v=p-y;if(u<v) printf("%.2f",u);else printf("%.2f",v);return 0;
}/*
in:
8
7
2
11out:
2.20
*/





【参考文献】
https://www.luogu.com.cn/problem/solution/B4409

 

http://www.jsqmd.com/news/47036/

相关文章:

  • 深入解析:自动化文件管理:分类、重命名和备份
  • nju实验三 加法器与ALU
  • 信息论(八):吉布斯不等式的证明
  • macos: 景观类动态的壁纸和屏保保存在哪里
  • pyppeteer: 得到当前运行中的浏览器
  • 题解:AT_agc028_e [AGC028E] High Elements
  • 基于单片机的篮球比赛计时与比分控制系统设计 - 详解
  • CSP-J2025总结
  • nju实验二 译码器和编码器
  • 如何最低成本注册一个域名?
  • 第四十六篇
  • 2025年送礼水果排行榜权威推荐,拉吾尤摩赣南脐橙荣登榜首
  • AI救星!8个写毕业论文的实用AI工具大揭秘
  • 数据血缘图在数据错误追溯中的应用指南
  • Luogu P10778 BZOJ3569 DZY Loves Chinese II 题解 [ 紫 ] [ Xor Hashing ] [ 线性基 ] [ DFS 树 ]
  • CSS基础语法 - 指南
  • MineContext:我第一次感觉 AI 真正在“主动帮我管理生活”
  • NCHU OOP-BLOG1-电梯调度-23207329-姚子康 - 翊尘
  • 操作系统的基本概念
  • 「Temp」目录
  • Linksys HTTPd缓冲区溢出远程代码执行漏洞深度解析
  • .NET+AI | MEAI | Function Calling 基础(3)
  • 开发智联笔记项目时所遇问题(8)
  • 高中学习机五大品牌终极横评:优缺点一览,找到最适合你的那一款!
  • NCHU-23207335-面向对象程序设计-BLOG-1
  • 开发智联笔记项目时所遇问题(4)
  • 开发智联笔记项目时所遇问题(3)
  • 20251121周五日记
  • 卡码网94: bellman_ford算法
  • CrewAI 上手攻略:多 Agent 自动化处理复杂任务,让 AI 像员工一样分工协作