2017年合肥市第 34 届青少年信息学(计算机)奥林匹克竞赛

1.图书捐赠

【题目描述】

一年过去了,卡卡西又积攒了不少的零用钱,非常有爱心的卡卡西计划将这些零用钱购买一些图书,送给贫困山区的小朋友,他来到新华书店,看到一本非常适合小朋友学习编程的图书,定价为 25 元/本,如果购买数量超过 5 本,则购买的所有图书价格降为 22 元/本;而如果从网上购买,定价为 24 元/本,如果购买数量超过 10 本,则超过 10 本的部分 8 折优惠。卡卡西购买了 n 本该编程图书, 请你帮卡卡西计算下需要多少钱?

【输入】

输入数据一行,有两个用空格分隔的正整数 m,n,其中 m=1 表示从新华书店购买图书,m=2 表示从网上购买图书;n 表示总共购买图书的数量。

【输出】

一个数,表示购买图书需要花费的总金额,若 m=1,则输出为一个正整数, 若 m=2,则输出的数值精确到小数点后 2 位。

【输入样例】

1 6

【输出样例】

132

【数据规模及约定】

1≤n≤100

#include <bits/stdc++.h>
using namespace std;
int m,n,sum;
double a;
int main()
{
	scanf("%d%d",&m,&n);
	if(m==1)//在新华书店购买图书
	{
		if(n>5)//优惠
			sum=22*n;
		else//不优惠
			sum=25*n;
		printf("%d",sum);
		return 0;
	}
	if(m==2)
	{
		if(n>10)
			a=10*24+(n-10)*24*0.8;//超过十本的部分大巴折
		else
			a=n*24;
		printf("%.2f",a);
		return 0;
	}
	printf("0");//没有买
	return 0;
}

2.最少花费

【题目描述】

卡卡西购买了一批图书后,非常的高兴,爸爸妈妈也表扬了他,称赞他把零用钱用到了最需要使用的地方,但卡卡西发现如果再购买一些文具送给贫困山区的小朋友们就更好了。第二天,卡卡西发动自己的小伙伴拿出他们的零用钱去购买文具,文具以套为单位,按包装销售,每个包装中有数量不等的文具,而且价格也不一样,卡卡西和小伙伴们只想购买一种包装的文具,商店不允许他们将包装拆开,因此卡卡西有可能需要购买超过 n 套文具才行,在商店每种包装的数量都足够的情况下,要买够至少 n 套文具最少需要花费多少钱。

【输入】

输入数据共 m+1 行。第一行有两个用空格分隔的正整数 m,n,m 表示包装的数量,n 表示需要购买的套数。接下来的 m 行,每行有两个用空格分隔的正整数 s1, s2,分别表示每一种包装中文具的数量和整包的价格。

【输出】

一个正整数,表示买够至少 n 套文具的最少花费。

【输入样例】

3 60
3 5
16 20
31 35

【输出样例】

70

【样例解释】

共 3 种包装,需要购买 60 套,如果选择 3 套装,需购买 20 个,总价 格 20*5=100,如果选择 16 套装,需购买 4 个,总价格 4*20=80,如果选择 31 套装,需购买 2 个,总价格 2*35=70。

【数据规模及约定】

1≤m≤1000,1≤n,s1,s2≤10000

#include <bits/stdc++.h>
using namespace std;
int m,n,sum=999999999/*求最小值附最大,a,s1,s2;
int main()
{
	scanf("%d%d",&m,&n);
	for(int i=1;i<=m;i++)
	{
		scanf("%d%d",&s1,&s2);
		if(n%s1==0)
			a=n/s1*s2;
		else
			a=(n/s1+1)*s2;//向上取整
		if(a<sum)
			sum=a;
	}
	printf("%d",sum);
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值