全国信息学奥林匹克联赛(NOIP2018)复赛 普及组答案及解析.pdfVIP

全国信息学奥林匹克联赛(NOIP2018)复赛 普及组答案及解析.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

一、实操题

1、标题统计

【问题描述】

凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符?

注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字

符数时,空格和换行符不计算在内。

【输入格式】

输入文件名为title.in。

输入文件只有一行,一个字符串s。

【输出格式】

输出文件名为title.out。

输出文件只有一行,包含一个整数,即作文标题的字符数(不含空格和换行符)。

【输入输出样例1】

【输入输出样例1说明】

标题中共有3个字符,这3个字符都是数字字符。

【输入输出样例2】

【输入输出样例2说明】

标题中共有5个字符,包括1个大写英文字母,1个小写英文字母和2

个数字字符,

还有1个空格。由于空格不计入结果中,故标题的有效字符数为4个。

【数据规模与约定】

规定|s|表示字符串s的长度(即字符串中的字符和空格数)。

对于40%的数据,1≤|s|≤5,保证输入为数字字符及行末换行符。

对于80%的数据,1≤|s|≤5,输入只可能包含大、小写英文字母、数字字符及

行末换行符。

对于100%的数据,1≤|s|≤5,输入可能包含大、小写英文字母、数字字符、空

格和行末换行符。

参考答案:由于数据规模很小,题目只要求统计标题的字符数(不含空格和换行符

),因此可以直接遍历字符串,统计非空格和换行符的字符数。

解析:【喵呜刷题小喵解析】:

题目中明确说明了数据规模很小,字符串的长度最多只有5个字符,而且题目只要

求统计标题的字符数(不含空格和换行符)。因此,可以直接遍历字符串,统计非

空格和换行符的字符数。具体来说,可以使用一个计数器变量,遍历字符串中的每

个字符,如果该字符不是空格或换行符,就将计数器加1。最后输出计数器的值即

可。

由于题目中并没有给出具体的输入样例,因此无法给出具体的代码实现。但是,根

据题目描述,可以使用类似以下的伪代码实现:

```python

#读取输入

s=input()

#初始化计数器

count=0

#遍历字符串

forcins:

#如果字符不是空格或换行符,计数器加1

ifc!=andc!=\n:

count+=1

#输出结果

print(count)

```

这个伪代码的思路是,首先读取输入字符串,然后初始化一个计数器变量。接着,

遍历字符串中的每个字符,如果该字符不是空格或换行符,就将计数器加1。最后

,输出计数器的值即可。

2、龙虎斗

【问题描述】

轩轩和凯凯正在玩一款叫《龙虎斗》的游戏,游戏的棋盘是一条线段,线段上有

n个兵营(自左至右编号1~n),相邻编号的兵营之间相隔1

厘米,即棋盘为长度为n−1厘米的线段。i号兵营里有ci位工兵。

下面图1为n=6的示例:

轩轩在左侧,代表“龙”;凯凯在右侧,代表“虎”。他们以m

号兵营作为分界,靠左的工兵属于龙势力,靠右的工兵属于虎势力,而第m

号兵营中的工兵很纠结,他们不属于任何一方。

一个兵营的气势为:该兵营中的工兵数×该兵营到m

号兵营的距离;参与游戏一方的势力定义为:属于这一方所有兵营的气势之和。

下面图2为n=6,m=4的示例,其中红色为龙方,黄色为虎方:

游戏过程中,某一刻天降神兵,共有s1位工兵突然出现在了p1

号兵营。作为轩轩和凯凯的朋友,你知道如果龙虎双方气势差距太悬殊,轩轩和凯

凯就不愿意继续玩下去了。为了让游戏继续,你需要选择一个兵营

p2,并将你手里的s2位工兵全部派往兵营p2,使得双方气势差距尽可能小。

注意:你手中的工兵落在哪个兵营,就和该兵营中其他工兵有相同的势力归属(如

果落在m号兵营,则不属于任何势力)。

【输入格式】

输入文件名为fight.in。

输入文件的第一行包含一个正整数n,代表兵营的数量。

接下来的一行包含n个正整数,相邻两数之间以一个空格分隔,第i

个正整数代表编号为i的兵营中起始时的工兵数量ci。

接下来的一行包含四个正整数,相邻两数间以一个空格分隔,分别代表m,p1,s1,

s2。

【输出格式】

输出文件名为fight.out。

输出文件有一行,包含一个正整数,即

p2,表示你选择的兵营编号。如果存在多个编号同时满足最优,取最小的编号。

【输入输出样例1】

【输入输出样

您可能关注的文档

文档评论(0)

喵呜刷题 + 关注
实名认证
文档贡献者

来喵呜刷题,完成你的职业蜕变!

1亿VIP精品文档

相关文档