目录
前言
大家好,这一篇题解主要是关于2020那届蓝桥杯的题解。
一、黑心商家
题目描述
黑心商家在网上出售糖果,根据糖果的重量额外计算邮费,计算规则:重量在 1000 克以内(包含 1000 克),邮费 8 元。超过 1000 克的部分,每 500 克加收超重费 4 元,不足 500 克部分按 500 克计算。现在我们知道每 100 克糖果 12元(限定只能购买 100 克的倍数)请你计算出顾客想要吃到糖果共需要的花费(糖果费用和邮费的总和)
输入描述:输入一行,包含一个整数,表示糖果的重量,单位克
输出描述:输出一行,包含一个整数,表示糖果的总花费
样例输入
1200
样例输出
156
题目解析
这一篇文章比较简单,分类讨论是一种方法,也可以简化。
AC代码1(分类讨论)
#include<iostream>//调用输入输出流头文件
#include<cmath>//调用数学头文件
using namespace std;//使用标准名字空间
int main(){//主函数开始
int w,ans;//定义整数类型变量w
cin>>w;//输入w的值
if(w<=1000){//如果w小于等于1000
ans=w/100*12+8;//将ans赋值为w/100*12+8
}else{//否则
ans=w/100*12+8+ceil((w-1000)/500.0)*4;//将ans赋值为w/100*12+8+ceil((w-1000)/500.0)
}
cout<<ans<<endl;//输出ans的值并换行
return 0;//主函数结束,返回0
}
AC代码2(简化版)
#include<cstdio>//调用C语言输入输出头文件
#include<algorithm>//调用算法头文件
#include<cmath>//调用数学函数头文件
using namespace std;//使用标准名字空间
int wg,ct;//定义整数类型变量wg
int main(){//主函数开始
scanf("%d",&wg);//输入wq的值
ct=(wg*12)/100+8+ceil(max(wg-1000,0)/500.0)*4;//将ct赋值为......
printf("%d",ct);//格式化输出ct的值
return 0;//主函数结束,返回0
}
二、调皮的猫咪
题目描述
皮皮的猫咪又一次越狱了,目标是远处的冰激凌商店,由于猫咪之前越狱已经积累了不少的经验,于是这次猫咪逃的更快了,如果皮皮想要寻找猫咪,相当于身处在一个地图中,地图上有一些部分可以正常通行,而另一些部分则不能通过。皮皮目前的位置在地图的左上角,他知道猫咪会逃到地图右下角的冰激凌商店。皮皮想要在路上截住猫咪。为了防止走冤枉路,皮皮的每一步只会向右或者向下行走。皮皮想知道,有多少条通往冰激凌商店的路径呢?
输入描述: