网站大量收购独家精品文档,联系QQ:2885784924

.模拟赛题目+分析二试NEW.docVIP

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

信息学奥林匹克联赛(NOIP2011)八校联军复赛模拟二 提高组第二试 2011年10月7日 8:30-11:30 (请选手务必仔细阅读本页内容) 一、题目概况 中文题目名称 文件列表 编译优化 收费站 英文题目名称 file compile cost 可执行文件名 file compile cost 输入文件名 file.in compile.in cost.in 输出文件名 file.out compile.out cost.out 每个测试点时限 1秒 1秒 1秒 测试点数目 10 20 10 每个测试点分值 10 5 10 附加样例文件 有 有 有 结果比较方式 全文比较过滤行末空格及文末回车 全文比较过滤行末空格及文末回车 全文比较过滤行末空格及文末回车 题目类型 传统 传统 传统 提交源程序文件名 对于pascal语言 file.pas compile.pas cost.pas 对于C语言 file.c compile.c cost.c 对于C++语言 file.cpp compile.cpp cost.cpp 编译命令(不包含任何优化开关) 对于pascal语言 fpc file.pas fpc compile.pas fpc cost.pas 对于C语言 gcc –o file file.c -lm gcc –o compile compile.c -lm gcc –o cost cost.c -lm 对于C++语言 g++ -o file file.cpp -lm g++ -o compile compile.cpp -lm g++ -o cost cost.cpp -lm 运行内存限制 内存上限 256M 256M 256M 注意事项 文件名(程序名和输入输出文件名)必须使用小写。 C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。 全国统一评测时采用的机器配置为:CPU 1.9GHz,内存1G,上述时限以此配置为准。各省在自测时可根据具体配置调整时限。 1.文件列表 (file.pas/c/c++) 【问题描述】 BSOI在线评测机被不明身份的人入侵了!!系统中大量的数据遭到恶意破坏,数据文件残缺不全。现在,老师正在尽力抢救数据文件。为了检查数据文件是否完整,老师打印出了所有文件的列表,但数据文件太多,老师眼睛都要看花了。所以,为了方便老师检查,需要你写个程序处理一下文件列表,转换成下面这样统一的格式:(//后面为注释) 生成的列表格式有如下要求: 属于同一层的文件或文件夹位于相同的缩进处相邻两层文件间差距5个字符; 每个文件夹或文件前有4个-(根目录除外)文件夹下方属于文件夹的部分有|; 属于统一文件夹下的文件或子文件夹按字典序排列; 【文件输入】 第一行n(n=50),表示总共的文件数目; 接下来n行,每行一个文件的路径,路径以/作为文件分隔符; 所有文件及文件夹名由小写字母和英文点组成; 所有输入的根目录都是一样的,文件名长度不超过10个字符,每个文件夹下不超过15个文件,不超过5层。 【文件输出】 输出符合要求的文件列表 5 mydoc/abcd/abc.txt mydoc/dd/libexec.a mydoc/stdio.h mydoc/abcd/zzz/game.cpp mydoc/abcd/new mydoc |----abcd | |----abc.txt | |----new | |----zzz | | |----game.cpp |----dd | |----libexec.a |----stdio.h 【数据范围】 对于30%的数据,根目录下只有文件没有文件夹 special judge,全文比较过滤行末空格及文末回车。 【题目考点】字符串处理,trie树+递归 【题目分析】 本题可以用trie树或者模拟trie树解决。可以选择以单个字母作为节点,在每一个文件夹结尾处做标记,但输出时非常难处理。 第二种以文件名即字符串为节点,从根目录往下查找,若当前父节点中能够找到st,则将父节点中st的编号作为新的父节点继续查找,若没有则新建一个节点,保存下st,以新建节点为父节点继续查找。 输出时从根目录递归搜索,先处理“| ”及“|----”,在对当前父节点的子节点排序,递归进行。 #includeiostream using namespace std; struct trie{ bool end; int c[28]; void clear(){memset(c,0,sizeof(c));end=0;}

文档评论(0)

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

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

1亿VIP精品文档

相关文档