好文档 - 专业文书写作范文服务资料分享网站

NOIP2015复赛普及组习题

天下 分享 时间: 加入收藏 我要投稿 点赞

CCF全国信息学奥林匹克联赛(NOIP2015)复赛

普及组

(请选手务必仔细阅读本页内容)

一.题目概况

中文题目名称 英文题目与子目录名 可执行文件名 输入文件名 输出文件名 每个测试点时限 测试点数目 每个测试点分值 附加样例文件 结果比较方式 题目类型 运行内存上限 金币 coin coin 扫雷游戏 mine mine 求和 sum sum 推销员 salesman salesman 1秒 10 10 有 1秒 10 10 有 1秒 10 10 有 1秒 10 10 有 传统 128M 全文比较(过滤行末空格及文末回车)传统 128M 传统 128M 传统 128M 二.提交源程序文件名

对于C++语言 对于C语言 对于pascal语言 三.编译命令(不包含任何优化开关) 对于C++语言 对于C语言 对于pascal语言 g++ g++ g++ gcc-osum -lm g++ gcc-osalesman -lm 注意事项: 1、 文件名(程序名和输入输出文件名)必须使用英文小写。

2、 C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。

3、 全国统一评测时采用的机器配置为:CPUAMDAthlon(tm)IIx2240processor,,内存4G,上述时限以此配置为

准。

4、 只提供Linux格式附加样例文件。

5、 特别提醒:评测在当前最新公布的NOILinux下进行,各语言的编译器版本以其为准。

1.金币

c/pas)

国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币。

请计算在前K天里,骑士一共获得了多少金币。 【输入格式】

输入文件名为。

输入文件只有1行,包含一个正整数K,表示发放金币的天数。 【输出格式】 输出文件名为。

输出文件只有1行,包含一个正整数,即骑士收到的金币数。 【输入输出样例1】

6 14 见选手目录下的coin/和coin/。 【输入输出样例1说明】

骑士第一天收到一枚金币;第二天和第三天,每天收到两枚金币;第四、五、六天,每天收到三枚金币。因此一共收到1+2+2+3+3+3=14枚金币。 【输入输出样例2】

1000 29820 见选手目录下的coin/和coin/。 【数据说明】

对于100%的数据,1≤K≤10,000。

2.扫雷游戏

(c/pas)

扫雷游戏是一款十分经典的单机小游戏。在n行m列的雷区中有一些格子含有地雷 (称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中有多少个是地雷格。游戏的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。

现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格周围的地雷格数。

注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下八个方向上与之直接相邻的格子。 【输入格式】

输入文件名为。

输入文件第一行是用一个空格隔开的两个整数n和m,分别表示雷区的行数和列数。 接下来n行,每行m个字符,描述了雷区中的地雷分布情况。字符’*’表示相应格子是地雷格,字符’’表示相应格子是非地雷格。相邻字符之间无分隔符。 【输出格式】 输出文件名为。

输出文件包含n行,每行m个字符,描述整个雷区。用’*’表示地雷格,用周围的地雷个数表示非地雷格。相邻字符之间无分隔符。 【输入输出样例1】

33* * *10 221 1*1 见选手目录下的mine/和mine/。 【输入输出样例2】

23* * 2*1 *21 见选手目录下的mine/和mine/。 【输入输出样例3】

见选手目录下的mine/和mine/。 【数据说明】对于100%的数据,1≤n≤100,1≤m≤100。

3.求和

c/pas)

一条狭长的纸带被均匀划分出了n个格子,格子编号从1到n。每个格子上都染了一种 颜色(用[1,m]当中一个数字。

编号

的一个整数表示),并且写了

5 1 5 2 3 3 2 4 2 5 2 6 定义一种特殊的三元组:(x,y,z),其中x,y,z

都代表纸带上格子的编号,这里的三元组要求满足以下两个条件:

1. ,,都是整数,<<,= 2. =

满足上述条件的三元组的分数规定为(x+z)(+)。整个纸带的分数规定为所有满足条件的三元组的分数的和。这个分数可能会很大,你只要输出整个纸带的分数除以10,007所得的余数即可。

【输入格式】

输入文件名为。

第一行是用一个空格隔开的两个正整数和,代表纸带上格子的个数,代表纸带上颜色的种类数。 第二行有个用空格隔开的正整数,第个数字代表纸带上编号为的格子上面写的数字。 第三行有个用空格隔开的正整数,第个数字代表纸带上编号为的格子染的颜色。

【输出格式】 输出文件名为。

共一行,一个整数,表示所求的纸带分数除以10,007所得的余数。

【输入输出样例1】

62 553222 221121 82 见选手目录下的sum/和sum/。

【输入输出样例1说明】

纸带如题目描述中的图所示。

所有满足条件的三元组为:(1,3,5),(4,5,6)。

所以纸带的分数为(1+5)(5+2)+(4+6)(2+2)=42+40=82。

NOIP2015复赛普及组习题

CCF全国信息学奥林匹克联赛(NOIP2015)复赛普及组(请选手务必仔细阅读本页内容)一.题目概况中文题目名称英文题目与子目录名可执行文件名输入文件名输出文件名每个测试点时限测试点数目每个测试点分值附加样例文件结果比较方式题目类型运行内存上限金币coincoin扫雷游戏minemine求和
推荐度:
点击下载文档文档为doc格式
09dli9603q9d31q9p63i6j6mw9sjow00dnd
领取福利

微信扫码领取福利

微信扫码分享