【暑期每日一题】洛谷 P7621 [AHOI2021初中组] 超市购物

题目链接:P7621 [AHOI2021初中组] 超市购物 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

题目背景

AHOI2021 初中组 T1

你可以选择跳过背景部分。

春的一天,正是乍暖还寒时候,狂风乍起。小可可裹紧了单薄的外衣,往小雪家中赶去。

“今天真不是个出门的时候啊!”小可可感叹道。

“但是我还有东西要买……你就陪我去下超市吧?”

在超市里,小雪一共买了 23.70 元的东西,最后却只付了 20.1 元,小可可见状很疑惑。

“超市对学生有优惠呗,最后会打八五折。”

“那也不可能是这个价啊?我想想……应该是 20.145 元才对。”

“超市结算的时候最后会去分化整,也就是说,以角作为付钱的最小单位,多的零头就不要了。”

题目描述

现在,假如小可可一共买了 $n$ 种类型的商品,第 i 种商品的单价为 ai 元,买了 bi 件,最后打八五折,并且舍去多出的小于一角的零头,你能不能帮他算算实际要付的钱数?

输入格式

第一行一个正整数 n,表示商品的种类数。

下面 n 行,每行一个两位小数 ai 和一个整数 bi,用空格隔开,分别表示第 i 种商品的单价和购买量。注意,输入中不会省略小数点后的零。

输出格式

仅一行,一个一位小数,表示小可可在打折并去分后要付的实际元数。注意,即使小数点后一位是 0,也要输出。

样例 #1

样例输入 #1

1
23.70 1

样例输出 #1

20.1

样例 #2

样例输入 #2

3
3.00 2
17.95 1
0.10 1

样例输出 #2

20.4

样例 #3

样例输入 #3

见附加文件的 shopping3.in。

样例输出 #3

见附加文件的 shopping3.ans。

提示

【样例 1 解释】

这就是【题目背景】中的例子。

【样例 2 解释】

小可可的原购买金额为 3.00 × 2 + 17.95 × 1 + 0.10 × 1 = 24.05 元,打八五折后为 24.05 × 85% = 20.4425 元,去掉零头后为 20.4 元。

【数据范围与提示】

提示:如果你对浮点数不熟悉的话,请尽量利用整数完成。

- 对于 30% 的测试点,保证 n=1;
- 对于另外 30% 的测试点,保证答案是整角;
- 对于 100% 的测试点,保证 1 <= n <= 10,0.01 <= ai <= 99.99,1 <= bi <= 10。

附件下载

shopping3.in(83B)

shopping3.ans(7B)(下载后后缀名记得改.out 打开)

AC code:

#include<iostream>
#include<algorithm>

using namespace std;

int main()
{
	int n;
	cin>>n;
	double res=0;
	
	while(n--)
	{
		double a;
		cin>>a;
		int b;
		cin>>b;
		res+=a*b;
	}
	res*=0.85;
//	cout<<res<<endl;
	int t=res*100;
//	cout<<t<<endl;
	t=int(t*1.0/10);
//	cout<<t<<endl;
	printf("%.1f",t*1.0/10);
	
	return 0;
} 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值