NOIP复赛普及组试题.docx
- 文档编号:9183864
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:11
- 大小:20.39KB
NOIP复赛普及组试题.docx
《NOIP复赛普及组试题.docx》由会员分享,可在线阅读,更多相关《NOIP复赛普及组试题.docx(11页珍藏版)》请在冰豆网上搜索。
NOIP复赛普及组试题
CCF全国信息学奥林匹克联赛(NOIP2015)复赛
普及组
(请选手务必仔细阅读本页内容)
一.题目概况
中文题目名称
金币
扫雷游戏
求和
推销员
英文题目与子目录名
coin
mine
sum
salesman
可执行文件名
coin
mine
sum
salesman
输入文件名
输出文件名
每个测试点时限
1秒
1秒
1秒
1秒
测试点数目
10
10
10
10
每个测试点分值
10
10
10
10
附加样例文件
有
有
有
有
结果比较方式
全文比较(过滤行末空格及文末回车)
题目类型
传统
传统
传统
传统
运行内存上限
128M
128M
128M
128M
二.提交源程序文件名
对于C++语言
对于C语言
对于pascal语言
三.编译命令(不包含任何优化开关)
对于C++语言
g++-ocoin-lm
g++-omine-lm
g++-osum-lm
g++-osalesman-lm
对于C语言
gcc-ocoin
-lm
gcc-omine
-lm
gcc-osum
-lm
gcc-osalesman
-lm
对于pascal语言
fpc
fpc
fpc
fpc
注意事项:
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
5
3
2
2
2
1
2
3
4
5
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。
【输入输出样例2】
154
5108222997756424
223343324444111
1388
见选手目录下的sum/和sum/。
【输入输出样例3】见选手目录下的sum/和sum/。
【数据说明】对于第1组至第2组数据,1≤𝑛≤100,1≤𝑚≤5;
对于第3组至第4组数据,1≤𝑛≤3000,1≤𝑚≤100;
对于第5组至第6组数据,1≤𝑛≤100000,1≤𝑚≤100000,且不存在出现次数
超过20的颜色;
对于全部10组数据,1≤𝑛≤100000,1≤𝑚≤100000,1≤𝑐𝑜𝑙𝑜𝑟𝑖≤𝑚,1≤
𝑛𝑢𝑚𝑏𝑒𝑟𝑖≤100000。
4.推销员
c/pas)
【问题描述】
阿明是一名推销员,他奉命到螺丝街推销他们公司的产品。
螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户。
螺丝街一共有N家住户,第i家住户到入口的距离为Si米。
由于同一栋房子里可以有多家住户,所以可能有多家住户与入口的距离相等。
阿明会从入口进入,依次向螺丝街的X家住户推销产品,然后再原路走出去。
阿明每走1米就会积累1点疲劳值,向第i家住户推销产品会积累Ai点疲劳值。
阿明是工作狂,他想知道,对于不同的X,在不走多余的路的前提下,他最多可以积累多少点疲劳值。
【输入格式】
输入文件名为。
第一行有一个正整数N,表示螺丝街住户的数量。
接下来的一行有N个正整数,其中第i个整数Si表示第i家住户到入口的距离。
数据保证S1≤S2≤…≤Sn<108。
接下来的一行有N个正整数,其中第i个整数Ai表示向第i户住户推销产品会积累的疲劳值。
数据保证Ai<103。
【输出格式】
输出文件名为。
输出N行,每行一个正整数,第i行整数表示当X=i时,阿明最多积累的疲劳值。
【输入输出样例1】
5
12345
12345
15
19
22
24
25
见选手目录下的salesman/和salesman/。
【输入输出样例1说明】
X=1:
向住户5推销,往返走路的疲劳值为5+5,推销的疲劳值为5,总疲劳值为
15。
X=2:
向住户4、5推销,往返走路的疲劳值为5+5,推销的疲劳值为4+5,总疲劳值为5+5+4+5=19。
X=3:
向住户3、4、5推销,往返走路的疲劳值为5+5,推销的疲劳值3+4+5,总疲劳值为5+5+3+4+5=22。
X=4:
向住户2、3、4、5推销,往返走路的疲劳值为5+5,推销的疲劳值2+3+4+5,总疲劳值5+5+2+3+4+5=24。
X=5:
向住户1、2、3、4、5推销,往返走路的疲劳值为5+5,推销的疲劳值1+2+3+4+5,总疲劳值5+5+1+2+3+4+5=25。
【输入输出样例2】
5
12245
54341
12
17
21
24
27
见选手目录下的salesman/和salesman/。
【输入输出样例2说明】
X=1:
向住户4推销,往返走路的疲劳值为4+4,推销的疲劳值为4,总疲劳值4+4+4=12。
X=2:
向住户1、4推销,往返走路的疲劳值为4+4,推销的疲劳值为5+4,总疲劳值
4+4+5+4=17。
X=3:
向住户1、2、4推销,往返走路的疲劳值为4+4,推销的疲劳值为5+4+4,总疲劳值4+4+5+4+4=21。
X=4:
向住户1、2、3、4推销,往返走路的疲劳值为4+4,推销的疲劳值为5+4+3+4,总疲劳值4+4+5+4+3+4=24。
或者向住户1、2、4、5推销,往返走路的疲劳值为5+5,推销的疲劳值为5+4+4+1,总疲劳值5+5+5+4+4+1=24。
X=5:
向住户1、2、3、4、5推销,往返走路的疲劳值为5+5,推销的疲劳值为5+4+3+4+1,总疲劳值5+5+5+4+3+4+1=27。
【样例输入输出3】
见选手目录下的salesman/和salesman/。
【数据说明】对于20%的数据,1≤N≤20;对于40%的数据,1≤N≤100;对于60%的数据,1≤N≤1000;对于100%的数据,1≤N≤100000。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NOIP 复赛 普及 试题