江北区第九届中小学生计算机程序设计竞赛.docx

江北区第九届中小学生计算机程序设计竞赛.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
江北区第九届中小学生计算机程序设计竞赛

PAGE11 / NUMPAGES11 江北区第九届中小学生计算机程序设计竞赛 比赛时间:2016年1月9日下午13:30—16:00 题目一览 试题名称数列(S)伙伴(friend)搭积木(block)游园礼物(yylw)英文代号Sfriendblockyylw程序名s.cpp/pas/cfriend.cpp/pas/cblock.cpp/pas/cyylw.cpp/pas/c输入文件名s.infriend.inblock.inyylw.in输出文件名s.outfriend.outblock.outyylw.out内存限制128MB128MB128MB128MB时限1S1S1S1S注意: 一、 关于竞赛中编程语言使用的规定参照中国计算机学会公布的《关于NOI系列赛编程语言使用限制的规定》。 二、 评测环境为windows。 1. 数列(s.pas/cpp/c) 【问题描述】 有一列数:1,1,3,8,22,60,164,448……其中的前三个数是1,1,3,从第四个数起每个数都是这个数前面两个数之和的2倍。那么,你可以很容易地得到这个数列中的第K个数是多少。 【输入s.in】 只有一行,一个数k,表示要询问的是数列中的第k个数。 【输出s.out】 只有一行,一个数n,表示数列中的第k个数的值是n。 【输入样例】 5 【输出样例】 22 【数据规模】 30%的数据,1=k=8 100%数据,1=k=45 2. 伙伴(friend.pas/cpp/c) 【问题描述】 近来,程序社团开始“创客”——用程序来开发一种“找伙伴的数字游戏”。这个伙伴游戏将玩家分为A和B二组。每组每个玩家可以得到一个数字号码。 游戏规则是这样的:A组里的每个人的数字与B组里每个人的数字进行“数字配对”——即加法运算,若运算的结果恰巧是B组内其他玩家手捏的数字号码,那么游戏就可以累计一个分值,这个分值就是B组内这个“恰巧”的数字号码。当然,在B组内“恰巧”的数字号码可能不止一个,游戏允许再次累计。 比如加法运算后的“恰巧”的数字是3,而B组内共有2个玩家捏有此数字,那么本组就可以得到6分。 你是游戏的开发者之一,你需要迅速计算出找伙伴游戏的最终得分。 【输入friend.in】 第一行有二个数字n和m,分别表示A组和B组的人数。 第二行有n个整数ai,每个整数之间有一个空格,表示n个玩家手中的数字号码。 第三行有m个整数bi,每个整数之间有一个空格,表示m个玩家手中的数字号码。 【输出friend.out】 只有一行,一个数字s,表示游戏的最终分数。 【输入样例1】 3 3 3 5 6 2 7 4 【输出样例1】 14 样例说明: A组内捏有”3”的玩家与B组内三个玩家进行“数字配对”,遇4时相加后, 发现B组内有一个恰巧的数字“7”; A组内捏有“5”的玩家与B组内三个玩家进行“数字配对”,遇2相加后, 发现B组内有一个恰巧的数字“7”; 当A组内捏有“6”的玩家与B组内三个玩家进行“数字配对”,无论与谁的数字相加,都没有在B组发现一个恰巧的数字; 因此最终结果是:7+7=14。 【输入样例2】 3 3 2 5 2 6 8 8 【输出样例2】 32 样例说明: A组第1玩家捏有数字”2”,与B组进行“数字配对”时,得分8+8; A组第2玩家捏有数字”5”,与B组进行“数字配对”时,得分0; A组第3玩家捏有数字”2”,与B组进行“数字配对”时,得分8+8; 因此最终得分为:8+8+8+8。 【数据规模】 30%的数据,1=n,m=3,1=ai,bi=100 50%数据,1=n,m=100,1=ai,bi=100 70%数据,1=n,m=10000,1=ai,bi=100 100%数据,1=n,m=100000,1=ai,bi=100 3. 搭积木(block.pas/cpp/c) 【问题描述】 今天是个特殊的日子,妈妈不在家,已经上中学的明明,要独自一人照顾弟弟。为了让弟弟开心(顺便提高一下弟弟的数数能力),明明发明了一个积木新玩法:给桌子上的积木从1到10编号,明明会把特定的积木块叠到一起,在叠的过程当中,不能把积木拆开,也就是说,在操作过程中,必须以整个积木块为单位(一开始所有积木都是分开的)。 比如把3号叠到2号上面,再把4号叠到2号上面的操作步骤是这样的: 第一步:把3号叠到2号上面 第二步:把4号叠到2号上面,因为不能拆分,所以要把2号所在的整个积木块都叠到4号下面 在这个过程当中,明明报数字,比如明明报3,弟弟要说出在3号积木块下面有几块积木。 作为小小程序员的你,能解决这个问题么?当然啦,为了提高难度,积木块的数量可不只10个哦。 【

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档