noip2007 提高组复赛试题及参考程序(pascal).doc

noip2007 提高组复赛试题及参考程序(pascal).doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
全国信息学奥林匹克联赛(NOIP2007)复赛 提高组 题目一览 题目名称 统计数字 字符串的展开 矩阵取数游戏 树网的核 代号 count expand game core 输入文件 count.in expand.in game.in core.in 输出文件 count.out expand.out game.out core.out 时限 1秒 1秒 1秒 1秒 (2007年11月17日 3小时完成) 说明: 1.?????? 文件名(程序名和输入输出文件名)必须使用小写 2.?????? C/C++中函数main()的返回值必须是int,程序正常结束时返回值必须是0。 3.?????? 全国统一评测时采用的机器参考配置为:CPU 2.0GHz,内存256M。 1.???? 统计数字 (count.pas/c/cpp) 【问题描述】 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。 【输入】 输入文件count.in包含n+1行; 第一行是整数n,表示自然数的个数; 第2~n+1每行一个自然数。 【输出】 输出文件count.out包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。 【输入输出样例】 count.in count.out 8 2 4 2 4 5 100 2 100 2 3 4 2 5 1 100 2 【限制】 40%的数据满足:1=n=1000 80%的数据满足:1=n=50000 100%的数据满足:1=n=200000,每个数均不超过1500 000 000(1.5*109) 2.???? 字符串的展开 (expand.pas/c/cpp) 【问题描述】 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母获数字串替代其中的减号,即,将上面两个子串分别输出为“defgh”和“45678”。在本题中,我们通过增加一些参数的设置,使字符串的展开更为灵活。具体约定如下: (1) 遇到下面的情况需要做字符串的展开:在输入的字符串中,出现了减号“-”,减号两侧同为小写字母或同为数字,且按照ASCII码的顺序,减号右边的字符严格大于左边的字符。 (2) 参数p1:展开方式。p1=1时,对于字母子串,填充小写字母;p1=2时,对于字母子串,填充大写字母。这两种情况下数字子串的填充方式相同。p1=3时,不论是字母子串还是数字字串,都用与要填充的字母个数相同的星号“*”来填充。 (3) 参数p2:填充字符的重复个数。p2=k表示同一个字符要连续填充k个。例如,当p2=3时,子串“d-h”应扩展为“deeefffgggh”。减号两边的字符不变。 (4) 参数p3:是否改为逆序:p3=1表示维持原来顺序,p3=2表示采用逆序输出,注意这时候仍然不包括减号两端的字符。例如当p1=1、p2=2、p3=2时,子串“d-h”应扩展为“dggffeeh”。 (5) 如果减号右边的字符恰好是左边字符的后继,只删除中间的减号,例如:“d-e”应输出为“de”,“3-4”应输出为“34”。如果减号右边的字符按照ASCII码的顺序小于或等于左边字符,输出时,要保留中间的减号,例如:“d-d”应输出为“d-d”,“3-1”应输出为“3-1”。 【输入】 输入文件expand.in包括两行: 第1行为用空格隔开的3个正整数,一次表示参数p1,p2,p3。 第2行为一行字符串,仅由数字、小写字母和减号“-”组成。行首和行末均无空格。 【输出】 输出文件expand.out只有一行,为展开后的字符串。 【输入输出样例1】 expand.in expand.out 1 2 1 abcs-w1234-9s-4zz abcsttuuvvw1234556677889s-4zz 【输入输出样例2】 expand.in expand.out 2 3 2 a-d-d aCCCBBBd-d 【输入输出样例3】 expand.in expand.out 3 4 2 di-jkstra2-6 dijkstra2************6 【限制】 40%的数据满足:字符串长度不超过5 100%的数据满足:1=p1=3,1=p2=8,1=p3=2。字符串长度不超过100 3.???? 矩阵取数游戏 (game.pas/c/cpp) 【问题描述】 帅帅经常更同学玩一个矩阵取

文档评论(0)

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

1亿VIP精品文档

相关文档