欢迎来到天天文库
浏览记录
ID:25540404
大小:66.00 KB
页数:6页
时间:2018-11-20
《宁波市初中程序设计竞赛复赛试题.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、宁波市第27届中小学生计算机程序设计竞赛复赛试题(初中组)(请选手务必仔细阅读本页内容)一、题目概览中文题目名称扫雷无根树积木幸运数英文题目名称minetreeblocksum可执行文件名minetreeblocksum输入文件名mine.intree.inblock.insum.in输出文件名mine.outtree.outblock.outsum.out每个测试点时限1秒1秒1秒1秒测试点数目10101010每个测试点分值10101010比较方式全文比较(过滤行末空格及文末回车)题目类型传统传统传统传统二、提交源程序文件名对于pascal语言mi
2、ne.pastree.pasblock.passum.pas对于C语言mine.ctree.cblock.csum.c对于C++语言mine.cpptree.cppblock.cppsum.cpp三、编译命令(不包含任何优化开关)对于pascal语言fpcmine.pasfpctree.pasfpcblock.pasfpcsum.pas对于C语言gcc–ominemine.c-lmgcc–otreetree.c-lmgcc–oblockblock.c-lmgcc–osumsum.c-lm对于C++语言g++–ominemine.cpp-lmg++–o
3、treetree.cpp-lmg++–oblockblock.cpp-lmg++–osumsum.cpp-lm四、运行内存限制运行内存上限128M128M128M128M注意事项:1、文件名(程序名和输入输出文件名)必须使用英文小写。2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。1.扫雷(mine.pas/c/cpp)【问题描述】Windows中的扫雷游戏是大家都熟悉的小游戏,今天,味味也设计了一个简易的扫雷游戏。味味设计的扫雷游戏功能如下:1.程序一开始会读入扫雷区域大小n,表示游戏区域有n*n个小方格组
4、成,接下来会读入n行信息,每行有n个整数(每个整数可能是0,也可能是1),每两个整数之间用一个空格分隔。其中0所在位置表示该小方格内没有地雷,1所在位置表示该小方格内有地雷(游戏开始时,扫雷区域中必定包含至少一个地雷)。接下来每行输入两个用空格分开的正整数i和j,每一行的一对i和j表示用户用鼠标单击扫雷区域中第i行第j列位置上的小方格(就象我们使用Windows中扫雷游戏一样),i和j表示的位置必定在扫雷区域内。程序每输入一对i和j,就马上进行相应的处理(就象我们在Windows中鼠标单击某个小方块就会出现结果一样)。2.程序将根据读入的一组i和j的
5、值来对扫雷区域作相应处理,具体的处理规则如下:(1)如果i和j表示的小方格内没有地雷、而且也没有被处理过(就是第i行第j列的数值是0),那么将以该小方格为中心的一个正方形区域内所有没有地雷的小方格都赋值为-1(表示该区域的地砖已经被掀开了)。如果在当前正方形区域内有一个位置号为i1和j1(注意:i1<>i并且j1<>j)的小方格内恰好有地雷,则此地雷就被顺利扫除,将该位置标记为-2。如果该正方形区域内某些小方格已经被处理过,则对这些小方格不再做任何处理。举个例子来说明一下,假如输入信息如下左边所示,那么处理结果就如下右边所示:500000001000
6、001000000010003300000000-1-2-100-1-1-200-1-1-1001000处理后的结果(2)如果i和j表示的小方格已经被处理过(就是第i行第j列的数值是-1或者是-2),那么不作任何处理,继续去读取下一行的i和j的值。(3)如果i和j表示的小方格刚好有地雷,并且该小方格没有被处理过(就是第i行第j列的数值是1),那么表示用户触雷,马上输出信息“GAMEOVER!”,程序结束。3.如果在读入i和j的过程中一直没有触雷,那么就一直按照位置信息处理下去,直到满足下列条件之一,就输出相应信息并结束程序:(1)读入的i和j的值都是
7、0(表示用户不再在某个小方格内单击鼠标右键了),则输出处理后整个扫雷区域的状态(就是输出n行n列的方阵,每行中两个整数之间用一个空格分隔,末尾没有多余空格),然后程序结束。(2)如果某次处理完后,游戏区域内所有的地雷都被扫除了,那么不必再读入下一行的信息,输出信息“YOUAREWINNER!”,程序结束。【输入】输入文件名为mine.in。第一行一个整数n(n<=50),接下来是一个n*n的方阵。再接下来是若干行,每行空格分隔的两个整数,表示i和j,以00结束。【输出】输出文件名为mine.out。包含一行,可能输出“YOUAREWINNER!”,可
8、能输出“GAMEOVER!”,也可能输出一个处理后的方阵。【输入输出样例1】mine.inmine.out6
此文档下载收益归作者所有