宁波市初中程序设计竞赛复赛试题.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文档。上传文档
查看更多
宁波市初中程序设计竞赛复赛试题

宁波市第2届中小学生计算机程序设计竞赛 复赛试题(初中组) 幸运数 英文题目名称 mine tree block sum 可执行文件名 mine tree block sum 输入文件名 mine.in tree.in block.in sum.in 输出文件名 mine.out tree.out block.out sum.out 每个测试点时限 1秒 1秒 秒 秒 10 10 10 每个测试点分值 10 10 10 10 比较方式 全文比较(过滤行末空格及文末回车) 传统 传统 传统 传统 .pas tree.pas block.pas sum.pas 对于C语言 mine.c tree.c block.c sum.c 对于C++语言 mine.cpp tree.cpp block.cpp sum.cpp 三、编译命令(不包含任何优化开关) 对于pascal语言 fpc mine.pas fpc tree.pas fpc block.pas fpc sum.pas 对于C语言 gcc –o mine mine.c -lm gcc –o tree tree.c -lm gcc –o block block.c -lm gcc –o sum sum.c -lm 对于C++语言 g++ –o mine mine.cpp -lm g++ –o tree tree.cpp -lm g++ –o block block.cpp -lm g++ –o sum sum.cpp -lm 四、运行内存限制 运行内存上限 128M 128M 128M 128M 注意事项: 1、文件名(程序名和输入输出文件名)必须使用英文小写。 2、C/C++中函数 main()的返回值类型必须是 int,程序正常结束时的返回值必须是 0。 1.扫雷 (mine.pas/c/cpp) 【问题描述】 Windows中的扫雷游戏是大家都熟悉的小游戏,今天,味味也设计了一个简易的扫雷游戏。味味设计的扫雷游戏功能如下: 1.程序一开始会读入扫雷区域大小n,表示游戏区域有n*n个小方格组成,接下来会读入n行信息,每行有n个整数(每个整数可能是0,也可能是1),每两个整数之间用一个空格分隔。其中0所在位置表示该小方格内没有地雷,1所在位置表示该小方格内有地雷(游戏开始时,扫雷区域中必定包含至少一个地雷)。 接下来每行输入两个用空格分开的正整数i和j,每一行的一对i和j表示用户用鼠标单击扫雷区域中第i行第j列位置上的小方格(就象我们使用Windows中扫雷游戏一样),i和j表示的位置必定在扫雷区域内。程序每输入一对i和j,就马上进行相应的处理(就象我们在Windows中鼠标单击某个小方块就会出现结果一样)。 2.程序将根据读入的一组i和j的值来对扫雷区域作相应处理,具体的处理规则如下: (1)如果i和j表示的小方格内没有地雷、而且也没有被处理过(就是第i行第j列的数值是0),那么将以该小方格为中心的一个正方形区域内所有没有地雷的小方格都赋值为-1(表示该区域的地砖已经被掀开了)。如果在当前正方形区域内有一个位置号为i1和j1(注意:i1i并且j1j)的小方格内恰好有地雷,则此地雷就被顺利扫除,将该位置标记为-2。如果该正方形区域内某些小方格已经被处理过,则对这些小方格不再做任何处理。 举个例子来说明一下,假如输入信息如下左边所示,那么处理结果就如下右边所示: (2)如果i和j表示的小方格已经被处理过(就是第i行第j列的数值是-1或者是-2),那么不作任何处理,继续去读取下一行的i和j的值。 (3)如果i和j表示的小方格刚好有地雷,并且该小方格没有被处理过(就是第i行第j列的数值是1),那么表示用户触雷,马上输出信息“GAME OVER!”,程序结束。 3.如果在读入i和j的过程中一直没有触雷,那么就一直按照位置信息处理下去,直到满足下列条件之一,就输出相应信息并结束程序: (1)读入的i和j的值都是0(表示用户不再在某个小方格内单击鼠标右键了),则输出处理后整个扫雷区域的状态(就是输出n行n列的方阵,每行中两个整数之间用一个空格分隔,末尾没有多余空格),然后程序结束。 (2)如果某次处理完后,游戏区域内所有的地雷都被扫除了,那么不必再读入下一行的信息,输出信息“YOU ARE WINNER!”,程序结束。 【输入】 输入文件名为mine.in。第一行一个整数n(n=50),接下来是一个n*n的方阵。再接下来是若干行,每行空格分隔的两个整数,表示i和j,以0 0结束。 【输出】 输出文件名为mine.out。包含一行,可能输出“YOU ARE WINNER!”,可能输出“GAME OVER!”,也可能输出一个处理后

文档评论(0)

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

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

1亿VIP精品文档

相关文档