NOIP2014普级组复赛试题



NOIP2014普级组复赛试题 .导读:表示测试题中给出的正整数个数,CCF全国信息学奥林匹克联赛(NOIP2014)复赛普及组(请选手务必仔细阅读本页内容)一.题目概况中文题目名称英文题目与子目录名可执行文件名输入文件名输出文件名每个测试点时限测试点数目每个测试点分值附加样例文件结果比较方式题目类型运行内存上限传统128M珠心算测试countcountcount.incount.out1秒1010有比例简化ratiorati CCF全国信息学奥林匹克联赛(NOIP2014)复赛 普及组 (请选手务必仔细阅读本页内容) 一.题目概况 中文题目名称 英文题目与子目录名 可执行文件名 输入文件名 输出文件名 每个测试点时限 测试点数目 每个测试点分值 附加样例文件 结果比较方式 题目类型 运行内存上限 传统 128M 珠心算测试 count count count.in count.out 1秒 10 10 有 比例简化 ratio ratio ratio.in ratio.out 1秒 10 10 有 传统 128M 螺旋矩阵 matrix matrix matrix.in matrix.out 1秒 10 10 有 传统 128M 子矩阵 submatrix submatrix submatrix.in submatrix.out 1秒 20 5 有 传统 128M 全文比较(过滤行末空格及文末回车) 二.提交源程序文件名 对于C++语言 对于C语言 对于pascal语言 count.cpp count.c count.pas ratio.cpp ratio.c ratio.pas matrix.cpp matrix.c matrix.pas submatrix.cpp submatrix.c submatrix.pas 三.编译命令(不包含任何优化开关) 对于C++语言 对于C语言 对于pascal语言 g++ -o count count.cpp -lm gcc -o count count.c -lm fpc count.pas g++ -o ratio ratio.cpp -lm gcc -o ratio ratio.c -lm fpc ratio.pas g++ -o matrix matrix.cpp -lm gcc -o matrix matrix.c -lm fpc matrix.pas g++ -o submatrix submatrix.cpp -lm gcc -o submatrix submatrix.c -lm fpc submatrix.pas 注意事项: 1、文件名(程序名和输入输出文件名)必须使用英文小写。 2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。 3、全国统一评测时采用的机器配置为:CPU AMD Athlon(tm) 64×2 Dual Core CPU 5200+, 2.71GHz,内存2G,上述时限以此配置为准。 4、只提供Linux格式附加样例文件。 5、特别提醒:评测在当前最新公布的NOI Linux下进行,各语言的编译器版本以其为 准。 1. 珠心算测验 (count.cpp/c/pas) 【问题描述】 珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。 整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和? 【输入】 输入文件名为count.in。 【输出】 输出文件名为count.out。 【输入输出样例】 count.in 4 1 2 3 4 【样例说明】 由1+2=3,1+3=4,故满足测试要求的答案为2。注意,加数和被加数必须是集合中的两个不同的数。 【数据说明】 对于100%的数据,3 ≤ n ≤ 100,测验题给出的正整数大小不超过10,000。 count.out 2 输出共一行,包含一个整数,表示测验题答案。 输入共两行,第一行包含一个整数n,表示测试题中给出的正整数个数。 第二行有n个正整数,每两个正整数之间用一个空格隔开,表示测试题中给出的正整数。 最近老师出了一些测验题,请你帮忙求出答案。 2.比例简化 (ratio.cpp/c/pas) 【问题描述】 在社交媒体上,经常会看到针对某一个观点同意与否的民意调查以及结果。例如,对某一观点表示支持的有1498人,反对的有902人,那么赞同与反对的比例可以简单的记为1498:902。 不过,如果把调查结果就以这种方式呈现出来,大多数人肯定不会满意。因为这个比例的数值太大,难以一眼看出它们的关系。对于上面这个例子,如果把比例记为5:3,虽然与真实结果有一定的误差,但依然能够较为准确地反映调查结果,同时也显得比较直观。 现给出支持人数A,反对人数B,以及一个上限L,请你将A比B化简为A’比B’,要求在A’和B’均不大于L且A’和B’互质(两个整数的最大公约数是1)的前提下,A’/B’ ≥ A/B且A’/B’ – A/B的值尽可能小。 【输入】 输入文件名为ratio.in。 【输出】 【输入输出样例】 ratio.in 1498 902 10 【数据说明】 对于100%的数据,1 ≤ A ≤ 1,000,000,1 ≤ B ≤ 1,000,000,1 ≤ L ≤ 100, A/B ≤ L。 ratio.out 5 3 输出文件名为ratio.out。 输出共一行,包含两个整数A’,B’,中间用一个空格隔开,表示化简后的比例。 输入共一行,包含三个整数A,B,L,每两个整数之间用一个空格隔开,分别表示支持人数、反对人数以及上限。 3. 螺旋矩阵 (matrix.cpp/c/pas) 【问题描述】 一个n行n列的螺旋矩阵可由如下方法生成: 从矩阵的左上角(第1行第1列)出发,初始时向右移动;如果前方是未曾经过的格子, 则继续前进,否则右转;重复上述操作直至经过矩阵中所有格子。根据经过顺序,在格子中依次填入1, 2, 3, … , n2,便构成了一个螺旋矩阵。 1 12 11 10 【输入】 输入文件名为matrix.in。 【输出】 【输入输出样例】 matrix.in 4 2 3 【数据说明】 对于50%的数据,1 ≤ n ≤ 100; 对于100%的数据,1 ≤ n ≤ 30,000,1 ≤ i ≤ n,1 ≤ j ≤ n。 matrix.out 14 输出文件名为matrix.out。 输出共一行,包含一个整数,表示相应矩阵中第i行第j列的数。 输入共一行,包含三个整数n,i,j,每两个整数之间用一个空格隔开,分别表示矩阵大小、待求的数所在的行号和列号。 现给出矩阵大小n以及i和j,请你求出该矩阵中第i行第j列的数是多少。 2 13 16 9 3 14 15 8 4 5 6 7 下图是一个n = 4 时的螺旋矩阵。

导读:4.子矩阵(submatrix.cpp/c/pas)【问题描述】给出如下定义:1.子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与例如,下面左图中选取第2、4行和第2、4、5列交叉位置的元素得到一个2*3的子矩阵如右图所示。2.相邻的元素:矩阵中的某个元素与其上下左右四个元素(如果存在的话)是相邻的。3.矩阵的分值:矩阵中每一对相邻元

NOIP2014普级组复赛试题

4. 子矩阵

(submatrix.cpp/c/pas)

【问题描述】

给出如下定义:

1. 子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与例如,下面左图中选取第2、4行和第2、4、5列交叉位置的元素得到一个2*3的子矩阵如右图所示。

 

2. 相邻的元素:矩阵中的某个元素与其上下左右四个元素(如果存在的话)是相邻的。

3. 矩阵的分值:矩阵中每一对相邻元素之差的绝对值之和。

本题任务:给定一个n行m列的正整数矩阵,请你从这个矩阵中选出一个r行c列的子矩阵,使得这个子矩阵的分值最小,并输出这个分值。

【输入】

输入文件名为submatrix.in。

第一行包含用空格隔开的四个整数n,m,r,c,意义如问题描述中所述,每两个整数之间用一个空格隔开。

接下来的n行,每行包含m个用空格隔开的整数,用来表示问题描述中那个n行m列的矩阵。 【输出】

输出文件名为submatrix.out。

输出共1行,包含1个整数,表示满足题目描述的子矩阵的最小分值。

【输入输出样例1】 submatrix.in 5 5 2 3 9 3 3 3 9 9 4 8 7 4 1 7 4 6 6 6 8 5 6 9 7 4 5 6 1

【输入输出样例1说明】

该矩阵中分值最小的2行3列的子矩阵由原矩阵的第4行、第5行与第1列、第3列、

第5页共6页

 

列的相对顺序)被称为原矩阵的一个子矩阵。

9 9 1 6 7

3 4 7 8 4


3 8 4 5 5

3 7 6 6 6

9 4 6 9 1

的其中一个2*3的子矩阵是

4 7 4 8 6 9

 

submatrix.out 6

第4列交叉位置的元素组成,为

67556

,其分值为6?5+5?6+7?5+5?6+6

6?7+5?5 + 6?6=6。

【输入输出样例2】 submatrix.in 7 7 3 3

7 7 7 6 2 10 5 5 8 8 2 1 6 2 2 9 5 5 6 1 7 7 9 3 6 1 7 8 1 9 1 4 7 8 8 10 5 9 1 1 8 10 1 3 1 5 4 8 6

【输入输出样例2说明】

该矩阵中分值最小的3行3列的子矩阵由原矩阵的第4行、第5行、第6行与第2列、9

第6列、第7列交叉位置的元素组成,选取的分值最小的子矩阵为9

5

【数据说明】

对于50%的数据,1≤??≤12,1≤??≤12,矩阵中的每个元素1≤a≤20; 对于100%的数据,1≤??≤16,1≤??≤16,矩阵中的每个元素1≤aj≤1000, 1≤??≤??,1≤??≤??。

788

88 10

submatrix.out 16

第6页共6页

 

五星文库wxphp.com包含总结汇报、文档下载、外语学习、专业文献、资格考试、考试资料、教学研究、word文档、办公文档、教学教材、人文社科、旅游景点、行业论文、经管营销、党团工作以及NOIP2014普级组复赛试题等内容。