NOIP复赛普及组试题.docx

上传人:b****8 文档编号:9143820 上传时间:2023-02-03 格式:DOCX 页数:9 大小:18.96KB
下载 相关 举报
NOIP复赛普及组试题.docx_第1页
第1页 / 共9页
NOIP复赛普及组试题.docx_第2页
第2页 / 共9页
NOIP复赛普及组试题.docx_第3页
第3页 / 共9页
NOIP复赛普及组试题.docx_第4页
第4页 / 共9页
NOIP复赛普及组试题.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

NOIP复赛普及组试题.docx

《NOIP复赛普及组试题.docx》由会员分享,可在线阅读,更多相关《NOIP复赛普及组试题.docx(9页珍藏版)》请在冰豆网上搜索。

NOIP复赛普及组试题.docx

NOIP复赛普及组试题

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

普及组

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

一.题目概况

中文题目名称

计数问题

表达式求值

小朋友的数字

车站分级

英文题目与子目录名

count

expr

number

level

可执行文件名

count

expr

number

level

输入文件名

count.in

expr.in

number.in

level.in

输出文件名

count.out

expr.out

number.out

level.out

每个测试点时限

1秒

1秒

1秒

1秒

测试点数目

10

10

10

10

每个测试点分值

10

10

10

10

附加样例文件

结果比较方式

全文比较(过滤行末空格及文末回车)

题目类型

传统

传统

传统

传统

运行内存上限

128M

128M

128M

128M

二.提交源程序文件名

语言对于C++

count.cpp

expr.cpp

number.cpp

level.cpp

C对于语言

count.c

expr.c

number.c

level.c

语言pascal对于

count.pas

expr.pas

number.pas

level.pas

.

三.编译命令(不包含任何优化开关)

C++语言对于

g++-ocountcount.cpp-lm

g++-oexprexpr.cpp–lm

g++-onumbernumber.cpp-lm

g++-olevellevel.cpp-lm

C对于语言

ocountgcc-count.c-lm

-oexprgccexpr.c-lm

onumbergcc-number.c-lm

gcc-olevellevel.c-lm

pascal语言对于

fpccount.pas

fpcexpr.pas

fpcnumber.pas

fpclevel.pas

注意事项:

1、文件名(程序名和输入输出文件名)必须使用英文小写。

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

3、全国统一评测时采用的机器配置为:

CPUAMDAthlon(tm)64x2DualCoreCPU5200+,

2.71GHz,内存2G,上述时限以此配置为准。

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

5、特别提醒:

评测在NOILinux下进行。

1.记数问题

(count.cpp/c/pas)

【问题描述】

试计算在区间1到n的所有整数中,数字x(0≤x≤9)共出现了多少次?

例如,在1

到11中,即在1、2、3、4、5、6、7、8、9、10、11中,数字1出现了4次。

【输入】

输入文件名为count.in。

输入共1行,包含2个整数n、x,之间用一个空格隔开。

【输出】

输出文件名为count.out。

输出共1行,包含一个整数,表示x出现的次数。

【输入输出样例】

count.in

count.out

111

4

.

【数据说明】

对于100%的数据,1≤n≤1,000,000,0≤x≤9。

2.表达式求值

(expr.cpp/c/pas)

【问题描述】

给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。

【输入】

输入文件为expr.in。

输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算符“+”和乘法运算符“*”,且没有括号,所有参与运算的数字均为0到231-1之间的整数。

输入数据保证这一行只有0~9、+、*这12种字符。

【输出】

输出文件名为expr.out。

输出只有一行,包含一个整数,表示这个表达式的值。

注意:

当答案长度多于4位时,请只输出最后4位,前导0不输出。

【输入输出样例1】

expr.in

expr.out

1+1*3+4

8

【输入输出样例】2

.

expr.in

expr.out

1+1234567890*1

7891

】【输入输出样例3

expr.in

expr.out

1+1000000003*1

4

【输入输出样例说明】样例1计算的结果为8。

8,直接输出位,即47891。

1234567891样例2计算的结果为,输出后

,输出后3样例计算的结果为10000000044位,即4。

表达式中加法运算符和乘法运算符的总30%【数据范围】对于的数据,0≤表达式中加法运算符和乘法运算符的总80%;对于数≤100的数据,0≤;数≤1000

100%对于。

表达式中加法运算符和乘法运算符的总数的数据,0≤≤100000

小朋友的数字3.

(number.cpp/c/pas)

【问题描述】

个小朋友排成一列。

每个小朋友手上都有一个数字,这个数字可正可负。

规定每个n有

小朋友的特征值等于排在他前面(包括他本人)的小朋友中连续若干个(最少有一个)小朋友手上的数字之和的最大值。

作为这些小朋友的老师,你需要给每个小朋友一个分数,分数是这样规定的:

第一个小,朋友的分数是他的特征值,其它小朋友的分数为排在他前面的所有小朋友中(不包括他本人)小朋友分数加上其特征值的最大值。

取模后输p请计算所有小朋友分数的最大值,输出时保持最大值的符号,将其绝对值对出。

.

【输入】

输入文件为number.in。

第一行包含两个正整数n、p,之间用一个空格隔开。

第二行包含n个数,每两个整数之间用一个空格隔开,表示每个小朋友手上的数字。

【输出】

输出文件名为number.out。

输出只有一行,包含一个整数,表示最大分数对p取模的结果。

【输入输出样例1】

number.in

number.out

5997

12345

21

【输入输出样例说明】

21,最大值115、、21151小朋友的特征值分别为、3、6、10、,分数分别为1、2、。

对997的模是21

2】【输入输出样例

number.in

number.out

57

-1-1-1-1-1

-1

【输入输出样例说明】-2,最大值、、-2-2、、、、小朋友的特征值分别为-1、-1-1、-1-1,分数分别为-1-2-1,输出。

7-1对的模为-1

所有数字的绝对值不超150%【数据范围】对于的数据,1≤n≤1,000,≤p≤1,000过;1000

,其他数字的绝对值均不超过,的数据,对于100%1≤n≤1,000,0001≤p≤1010。

99

.

4.车站分级

(level.cpp/c/pas)

【问题描述】

一条单向的铁路线上,依次有编号为1,2,…,n的n个火车站。

每个火车站都有一个级别,最低为1级。

现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:

如果这趟车次停靠了火车站x,则始发站、终点站之间所有级别大于等于火车站x的都必须停靠。

(注意:

起始站和终点站自然也算作事先已知需要停靠的站点)

例如,下表是5趟车次的运行情况。

其中,前4趟车次均满足要求,而第5趟车次由于停靠了3号火车站(2级)却未停靠途经的6号火车站(亦为2级)而不满足要求。

车站编号

1

2

3

4

5

6

7

8

9

车站级别车次

3

1

2

1

3

2

1

1

3

1

2

始→

→→

停停

→终→

3

4

5

个火车站至少分为几个不同的现有n,试推算这趟车次的运行情况(全部满足要求)m

级别。

【输入】输入文件为。

level.in

第一行包含n个正整数2m,,用一个空格隔开。

.

第i+1行(1≤i≤m)中,首先是一个正整数s(2≤s个停s趟车次有,表示第in≤)iii靠站;接下来有s个正整数,表示所有停靠站的编号,从小到大排列。

每两个数之间用一个i

空格隔开。

输入保证所有的车次都满足要求。

【输出】

输出文件为level.out。

输出只有一行,包含一个正整数,即n个火车站最少划分的级别数。

【输入输出样例】

level.in

level.out

92

413563356

2

93

413563356

3159

3

【数据范围】

20%对于的数据,1≤n;对于,m≤10m,≤100;n的数据,50%1≤

的数据,对于100%1≤。

m,n≤1000

.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1