冲刺NOIP2010模拟试题与解析(十).docVIP

  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文档。上传文档
查看更多
冲刺NOIP2010模拟试题与解析(十) 普及组复赛 题目名称 手机 数字积木 家族 书本整理 程序名称 mobile.pas/c/cpp brick.pas/c/cpp famdy.pas/c/cpp book.pas/c/cpp 输入文件 mobile. in brick. in family.in book.in 输出文件 mobile. out brick.out family.out book.out 时间限制 1秒 1秒 1秒 1秒 一、手机(mobile.pas/c/cpp) 【问题描述】 一般的手机的键盘是这样的: 1 ?2?abc ?3?def ?4?ghi ?5?jkl ??6?mno ?7?pqrs ?8?tuv ?9?wxyz * 0 ??# ?? 要按出英文字母就必须要按数字键多下。例如要按出x就得按9两下,第一下会出w,而第二下会把w变成x。0键按一下会出一个空格。 ??你的任务是读取若干句只包含英文小写字母和空格的句子,求出要在手机上打出这个句子至少需要按多少下键盘。 【问题输入】 ? 一行一个句子,只包含英文小写字母和空格,且不超过200个字符。 【问题输出】 一行一个整数,表示按键盘的总次数。 【样例输入】 ??i?have?a?dream 【样例输出】 ??23 【数据范围】 ??如题目所示 ??二、数字积木(brick.pas/c/cpp) 【问题描述】 ?? 小明有一款新式积木,每个积木上都有一个数,一天小明突发奇想,要是把所有的积木排成一排,所形成的数目最大是多少呢? ?? 你的任务就是读入n个数字积木,求出所能形成的最大数。 【问题输入】 第一行是一个整数n (n≤1000),接下来n行每行是一个正整数。 【问题输出】 ?? 所能形成的最大整数 【样例输入】 3 13 131 343 【样例输出】【数据范围】 30%的数据,n≤l0,每个数103。50%的数据,n≤l00。100%的数据,n≤1000,每个数10200。 三、家族(family.pas/c/cpp) 【问题描述】 在一个与世隔绝的岛屿上,有一个有趣的现象:同一个家族的人家总是相邻的(这里的相邻是指东南西北四个方向),不同的家族之间总会有河流或是山丘隔绝,但同一个家族的人不一定有相同姓氏。现在给你岛上的地图,求出岛上有多少个不同的家族。岛上的地图有n行,每行有若干列,每个格子中要么是“ ”,表示大海,要么是“*”,表示河流或山丘,要么是小写字母,表示一户人家的姓氏。 【问题输入】 第一行是个数字N,表示下面信息的行数。接下来是N行字符,每行由小写字母和*号组成,有些行的最前面也可能包含若干连续的空格,表示这些区域是大海,每一行最多不超过200个字符。 【问题输出】 一个数字,表示家族数。 【样例输入】 4 *zlw**pxh l*zlwk*hx* w*tyy**yyy zzl 【样例输出】 3 【数据范围】 ?10%的数据,n≤1。?30%的数据,n≤10。?100%的数据,n≤100每一行最多不超过200个字符。 四、书本整理(book.pas/c/cpp) 【问题描述】 ???? 小明的书架上放了许多书,为了使书架变得整洁,小明决定整理书架,他将所有书按高度大小排列,这样排了之后虽然整齐了许多,但小明发现,书本的宽度不同,导致书架看上去还是有些凌乱。小明把这个凌乱值定义为相邻两本书的宽度差的绝对值的和。 ???? 例如有4本书: 1×2 5×3 2×4 3×1 那么小明将其排列整齐后的顺序是: l×2 2×4 3×1 5×3 凌乱值就是2+3+2=7。 ???? 于是小明决定拿掉其中的k本书,使凌乱值最小,你能帮他求出这个最小值吗? 已知每本书的高度都不一样。 【问题输入】 ????第一行两个数字n和k,代表书总共有n本,要求从中去掉k本。(1≤n≤100,1≤kn) 下面的n行,每行两个数字表示一本书的高度和宽度,它们均小于200。 【问题输出】 ????一个整数,表示书架的最小凌乱值。 【样例输入】 41 1?2 2?4 3?1 5?3 【样例输出】 3 【数据范围】 30%的数据,n≤20。100%的数据,n≤l00,kn。 ? 试题解析 一、手机(mobile.pas/c/cpp) 算法分析: 本题是简单的计数问题,只要注意:(1)7键和9键可表示4个字母;(2)不要忘了空格0,就行了。 参考程序: 二、数字积木(brick.pas/c/cpp) 算法分析: 本题每个数都比较大,所以用字符串操作。 朴素算法是求出所有排列,求出其中能拼成的最大值,这样能拿30分左右

文档评论(0)

jhyy + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档