- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
一、简答题
1、1.火中取栗
据法国诗人拉·封丹的寓言《猴子与猫》里说,猴子骗猫取火中的栗子,结果取出
后被猴子吃了,猫却因此被烧掉了爪上的毛。
现在我们有n
只炉子,每只炉子里烤着一些栗子。假设笨猫每次伸爪最多能从一只炉子里抓出k
颗栗子,但会被烧掉1撮毛。问笨猫抓出所有的栗子最少要被烧掉多少撮毛?
时间限制:1000
内存限制:65536
输入
输入在第一行中给出2个正整数n(≤100000)和k(≤
10),含义如题面所述。数字间以空格分隔。随后一行给出n个不超过1000
的正整数,其中第i个数字表示第i只炉子里烤的栗子的数量。
输出
在一行中输出笨猫抓出所有的栗子最少要被烧掉多少撮毛。
样例输入
52
348115
样例输出
17
解析:
假设炉子的数量为n,每次最多能取出的栗子数量为k,第i个炉子的栗子数量为
a[i]。
1.读入n和k的值。
2.读入每个炉子的栗子数量a[i],并对它们进行排序。
3.初始化被烧掉的撮毛数量sum为0。
4.从最大的a[i]开始,取出k个栗子,被烧掉的撮毛数量为k,将sum加上
k。
5.移动到下一个a[i],重复步骤4,直到所有的栗子都被取出。
6.输出sum,即为笨猫抓出所有的栗子最少要被烧掉多少撮毛。
根据题目给定的样例输入,炉子的数量为5,每次最多能取出2
个栗子,炉子的栗子数量分别为
3、4、8、1、15。我们对炉子的栗子数量进行排序,得到15、8、4、3、1。从15
开始取,取2个栗子,被烧掉2撮毛,剩余13个栗子;从8开始取,取2
个栗子,被烧掉2撮毛,剩余6个栗子;从4开始取,取2个栗子,被烧掉2
撮毛,剩余2个栗子;从3开始取,取1个栗子,被烧掉1撮毛;从1
开始取,不需要再被烧毛。总共被烧掉的撮毛数量为
2+2+2+1=7。因此,笨猫抓出所有的栗子最少要被烧掉7撮毛。
2、2.垃圾分类
据香港《南华早报》7月15日文章,上海严格的垃圾分类新规令不少居民抓狂。这
催生出大量帮助找出正确分类答案的App和小程序。目前仅微信上就至少有280种
与垃圾处理有关的App,在苹果应用商店也达130种。支付宝表示,已有60多家独
立App开发商申请为该平台提供类似服务。
本题就请你现场实现一个简单的垃圾分类小助手。
时间限制:1000
内存限制:65536
输入
输入首先给出官方分类指南中每种物品的归属。在一行中给出一个正整数N(≤
100000),即物品数量;随后N行,每行给出一个物品名称(长度不超过10
的、由小写英文字母和下划线组成的字符串)和该物品所属的分类(1
代表干垃圾、2代表湿垃圾、3代表可回收物、4
代表有害垃圾)。题目保证所有物品名称无重复。
随后每行给出一个查询物品的名称(格式与指南物品名称相同)。最后一行给出结
束符`#`,表示查询终止,这一行不需要查询。(查询的数量≤100000个)
输出
对每个查询的物品,在一行中给出其所属分类:`Ganlaji`代表干垃圾;`Shilaji`
代表湿垃圾;`KeHuiShou`代表可回收物;`YouHailaji`
代表有害垃圾。如果查询的物品不在指南中,则输出`?`表示不知道。
样例输入
4
bao_zhi3
dian_chi4
dan_ke2
bei_ke1
dan_ke
dian_chi
ren_zha
bao_zhi
bei_ke
样例输出
Shilaji
YouHailaji
?
KeHuiShou
Ganlaji
解析:
具体实现步骤如下:
1.读取物品数量和每个物品的名称和分类,将每个物品的名称和分类存储到哈
希表中。
2.读取查询物品的名称,在哈希表中查找其分类。
3.如果找到查询物品的分类,则输出对应的分类名称。
4.如果没找到查询物品的分类,则输出?表示不知道。
时间复杂度为O(N+Q),其中N为物品数量,Q为查询数量。由于时间限制为1000,
内存限制为65536,因此可以使用这种简单的哈希表查找方法来实现。
3、3.生成字母串
英语老师要求学生按照如下规则写一串字母:
\-
如果写了某个大写字母,下
原创力文档


文档评论(0)