编程基础之顺序查找题之欧阳育创编.docx

上传人:b****4 文档编号:5119474 上传时间:2022-12-13 格式:DOCX 页数:15 大小:20.59KB
下载 相关 举报
编程基础之顺序查找题之欧阳育创编.docx_第1页
第1页 / 共15页
编程基础之顺序查找题之欧阳育创编.docx_第2页
第2页 / 共15页
编程基础之顺序查找题之欧阳育创编.docx_第3页
第3页 / 共15页
编程基础之顺序查找题之欧阳育创编.docx_第4页
第4页 / 共15页
编程基础之顺序查找题之欧阳育创编.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

编程基础之顺序查找题之欧阳育创编.docx

《编程基础之顺序查找题之欧阳育创编.docx》由会员分享,可在线阅读,更多相关《编程基础之顺序查找题之欧阳育创编.docx(15页珍藏版)》请在冰豆网上搜索。

编程基础之顺序查找题之欧阳育创编.docx

编程基础之顺序查找题之欧阳育创编

01:

查找特定的值

时间:

2021.02.04

创作:

欧阳育

∙查看

∙提交

∙统计

∙提问

总时间限制:

 

1000ms

内存限制:

 

65536kB

描述

在一个序列(下标从1开始)中查找一个给定的值,输出第一次出现的位置。

输入

第一行包含一个正整数n,表示序列中元素个数。

1<=n<=10000。

第二行包含n个整数,依次给出序列的每个元素,相邻两个整数之间用单个空格隔开。

元素的绝对值不超过10000。

第三行包含一个整数x,为需要查找的特定值。

x的绝对值不超过10000。

输出

若序列中存在x,输出x第一次出现的下标;否则输出-1。

样例输入

5

23673

3

样例输出

2

02:

输出最高分数的学生姓名

∙查看

描述

输入学生的人数,然后再输入每位学生的分数和姓名,求获得最高分数的学生的姓名。

输入

第一行输入一个正整数N(N<=100),表示学生人数。

接着输入N行,每行格式如下:

分数姓名分数是一个非负整数,且小于等于100;姓名为一个连续的字符串,中间没有空格,长度不超过20。

数据保证最高分只有一位同学。

输出

获得最高分数同学的姓名。

样例输入

5

87lilei

99hanmeimei

97lily

96lucy

77jim

样例输出

hanmeimei

来源

习题(13-1)

03:

不高兴的津津

∙查看

描述

津津上初中了。

妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。

另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。

但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。

假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。

请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。

输入

包括七行数据,分别表示周一到周日的日程安排。

每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。

输出

包括一行,这一行只包含一个数字。

如果不会不高兴则输出0,如果会则输出最不高兴的是周几(用1,2,3,4,5,6,7分别表示周一,周二,周三,周四,周五,周六,周日)。

如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。

样例输入

53

62

72

53

54

04

06

样例输出

3

04:

谁拿了最多奖学金

∙查看

∙提交

∙统计

∙提问

总时间限制:

 

1000ms

内存限制:

 

65536kB

描述

某校的惯例是在每学期的期末考试之后发放奖学金。

发放的奖学金共有五种,获取的条件各自不同:

1)    院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;

2)    五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得;

3)    成绩优秀奖,每人2000元,期末平均成绩高于90分(>90)的学生均可获得;

4)    西部奖学金,每人1000元,期末平均成绩高于85分(>85)的西部省份学生均可获得;

5)    班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;

只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。

例如姚林的期末平均成绩是87分,班级评议成绩82分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850元。

现在给出若干学生的相关数据,请计算哪些同学获得的奖金总数最高(假设总有同学能满足获得奖学金的条件)。

输入

第一行是一个整数N(1<=N<=100),表示学生的总数。

接下来的N行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。

姓名是由大小写英文字母组成的长度不超过20的字符串(不含空格);期末平均成绩和班级评议成绩都是0到100之间的整数(包括0和100);是否是学生干部和是否是西部省份学生分别用一个字符表示,Y表示是,N表示不是;发表的论文数是0到10的整数(包括0和10)。

每两个相邻数据项之间用一个空格分隔。

输出

包括三行,第一行是获得最多奖金的学生的姓名,第二行是这名学生获得的奖金总数。

如果有两位或两位以上的学生获得的奖金最多,输出他们之中在输入文件中出现最早的学生的姓名。

第三行是这N个学生获得的奖学金的总数。

样例输入

4

YaoLin8782YN0

ChenRuiyi8878NY1

LiXin9288NN0

ZhangQin8387YN1

样例输出

ChenRuiyi

9000

28700

来源

NOIP2005复赛提高组第一题

05:

最大值和最小值的差

∙查看

∙提交

∙统计

∙提问

总时间限制:

 

1000ms

内存限制:

 

65536kB

描述

输出一个整数序列中最大的数和最小的数的差。

输入

第一行为M,表示整数个数,整数个数不会大于10000;第二行为M个整数,以空格隔开,每个整数的绝对值不会大于10000。

输出

输出M个数中最大值和最小值的差。

样例输入

5

25742

样例输出

5

06:

笨小猴

∙查看

∙提交

∙统计

∙提问

总时间限制:

 

1000ms

内存限制:

 

65536kB

描述

笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。

但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!

这种方法的具体描述如下:

假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个LuckyWord,这样的单词很可能就是正确的答案。

输入

只有一行,是一个单词,其中只可能出现小写字母,并且长度小于100。

输出

共两行,第一行是一个字符串,假设输入的的单词是LuckyWord,那么输出“LuckyWord”,否则输出“NoAnswer”;第二行是一个整数,如果输入单词是LuckyWord,输出maxn-minn的值,否则输出0。

样例输入

样例#1:

error

样例#2:

olympic

样例输出

样例#1:

LuckyWord

2

样例#2:

NoAnswer

0

提示

单词error中出现最多的字母r出现了3次,出现次数最少的字母出现了1次,3-1=2,2是质数。

单词olympic中出现最多的字母i出现了2次,出现次数最少的字母出现了1次,2-1=1,1不是质数。

来源

NOIP2008复赛提高组第一题

07:

不与最大数相同的数字之和

∙查看

∙提交

∙统计

∙提问

总时间限制:

 

1000ms

内存限制:

 

65536kB

描述

输出一个整数数列中不与最大数相同的数字之和。

输入

输入分为两行:

第一行为N(N为接下来数的个数,N<=100);第二行为N个整数,数与数之间以一个空格分开,每个整数的范围是-1000,000到1000,000。

输出

输出为N个数中除去最大数其余数字之和。

样例输入

3

123

样例输出

3

08:

白细胞计数

描述

医院采样了某临床病例治疗期间的白细胞数量样本n份,用于分析某种新抗生素对该病例的治疗效果。

为了降低分析误差,要先从这n份样本中去除一个数值最大的样本和一个数值最小的样本,然后将剩余n-2个有效样本的平均值作为分析指标。

同时,为了观察该抗生素的疗效是否稳定,还要给出该平均值的误差,即所有有效样本(即不包括已扣除的两个样本)与该平均值之差的绝对值的最大值。

 现在请你编写程序,根据提供的n个样本值,计算出该病例的平均白细胞数量和对应的误差。

输入

输入的第一行是一个正整数n(2

以下共有n行,每行为一个浮点数,为对应的白细胞数量,其单位为10^9/L。

数与数之间以一个空格分开。

输出

输出为两个浮点数,中间以一个空格分开。

分别为平均白细胞数量和对应的误差,单位也是10^9/L。

计算结果需保留到小数点后2位。

样例输入

5

12.0

13.0

11.0

9.0

10.0

样例输出

11.001.00

提示

为避免浮点精度误差过大,请使用double类型。

09:

直方图

∙查看

∙提交

∙统计

∙提问

总时间限制:

 

1000ms

内存限制:

 

65536kB

描述

给定一个非负整数数组,统计里面每一个数的出现次数。

我们只统计到数组里最大的数。

假设Fmax(Fmax<10000)是数组里最大的数,那么我们只统计{0,1,2.....Fmax}里每个数出现的次数。

输入

第一行n是数组的大小。

1<=n<=10000。

紧接着一行是数组的n个元素。

输出

按顺序输出每个数的出现次数,一行一个数。

如果没有出现过,则输出0。

对于例子中的数组,最大的数是3,因此我们只统计{0,1,2,3}的出现频数。

样例输入

5

11231

样例输出

0

3

1

1

10:

找最大数序列

描述

输入n行,每行不超过100个无符号整数,无符号数不超过4位。

请输出最大整数以及最大整数所在的行号(行号从1开始)。

如果该数据在多个行中出现,则按从小到大输出相应行号,行号之间以一个逗号分开。

输入

一行输入一个正整数n(n<=30)。

之后的n行,每行包含不超过100个无符号整数,整数之间以一个逗号分开。

输出

第一行:

最大整数;第二行:

最大整数所在的行编号,逗号间隔。

样例输入

6

1,3,5,23,6,8,14

20,22,13,4,16

23,12,17,22

2,6,10,9,3,6

22,21,20,8,10

22,1,23,6,8,19,23

样例输出

23

1,3,6

11:

连续出现的字符

∙查看

∙提交

∙统计

∙提问

总时间限制:

 

1000ms

内存限制:

 

65536kB

描述

给定一个字符串,在字符串中找到第一个连续出现至少k次的字符。

输入

第一行包含一个正整数k,表示至少需要连续出现的次数。

1<=k<=1000。

第二行包含需要查找的字符串。

字符串长度在1到1000之间,且不包含任何空白符。

输出

若存在连续出现至少k次的字符,输出该字符;否则输出No。

样例输入

3

abcccaaab

样例输出

c

12:

最长平台

∙查看

∙提交

∙统计

∙提问

总时间限制:

 

1000ms

内存限制:

 

65536kB

描述

已知一个已经从小到大排序的数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。

例如,在1,2,2,3,3,3,4,5,5,6中1,2-2,3-3-3,4,5-5,6都是平台。

试编写一个程序,接收一个数组,把这个数组最长的平台找出来。

在上面的例子中3-3-3就是最长的平台。

输入

第一行有一个整数n,为数组元素的个数。

第二行有n个整数,整数之间以一个空格分开。

输出

输出最长平台的长度。

样例输入

10

1223334556

样例输出

3

来源

D.Gries.TheScienceofProgramming,Springer-Verlag,1981

13:

整数去重

∙查看

∙提交

∙统计

∙提问

总时间限制:

 

1000ms

内存限制:

 

65536kB

描述

给定含有n个整数的序列,要求对这个序列进行去重操作。

所谓去重,是指对这个序列中每个重复出现的数,只保留该数第一次出现的位置,删除其余位置。

输入

输入包含两行:

第一行包含一个正整数n(1<=n<=20000),表示第二行序列中数字的个数;第二行包含n个整数,整数之间以一个空格分开。

每个整数大于等于10、小于等于100。

输出

输出只有一行,按照输入的顺序输出其中不重复的数字,整数之间用一个空格分开。

样例输入

5

1012931275

样例输出

10129375

来源

14:

铺地毯

∙查看

∙提交

∙统计

∙提问

总时间限制:

 

1000ms

内存限制:

 

65536kB

描述

为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。

一共有n张地毯,编号从1到n。

现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。

地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。

注意:

在矩形地毯边界和四个顶点上的点也算被地毯覆盖。

输入输出样例1说明:

如下图,1号地毯用实线表示,2号地毯用虚线表示,3号用双实线表示,覆盖点(2,2)的最上面一张地毯是3号地毯。

输入输出样例2说明:

如下图,1号地毯用实线表示,2号地毯用虚线表示,3号用双实线表示,覆盖点(4,5)的最上面一张地毯是3号地毯。

输入

输入共n+2行。

第一行,一个整数n,表示总共有n张地毯。

接下来的n行中,第i+1行表示编号i的地毯的信息,包含四个正整数a,b,g,k,每两个整数之间用一个空格隔开,分别表示铺设地毯的左下角的坐标(a,b)以及地毯在x轴和y轴方向的长度。

第n+2行包含两个正整数x和y,表示所求的地面的点的坐标(x,y)。

对于30%的数据,有n≤2;对于50%的数据,0≤a,b,g,k≤100;对于100%的数据,有0≤n≤10,000,0≤a,b,g,k≤100,000。

输出

输出共1行,一个整数,表示所求的地毯的编号;若此处没有被地毯覆盖则输出-1。

样例输入

样例#1:

3

1023

0233

2133

22

样例#2:

3

1023

0233

2133

45

样例输出

样例#1:

3

样例#2:

-1

来源

NOIP2011复赛提高组第一题

15:

接水问题

∙查看

∙提交

∙统计

∙提问

总时间限制:

 

1000ms

内存限制:

 

65536kB

描述

学校里有一个水房,水房里一共装有m个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为1。

现在有n名同学准备接水,他们的初始接水顺序已经确定。

将这些同学按接水顺序从1到n编号,i号同学的接水量为wi。

接水开始时,1到m号同学各占一个水龙头,并同时打开水龙头接水。

当其中某名同学j完成其接水量要求wj后,下一名排队等候接水的同学k马上接替j同学的位置开始接水。

这个换人的过程是瞬间完成的,且没有任何水的浪费。

即j同学第x秒结束时完成接水,则k同学第x+1秒立刻开始接水。

若当前接水人数n’不足m,则只有n’个龙头供水,其它m-n’个龙头关闭。

现在给出n名同学的接水量,按照上述接水规则,问所有同学都接完水需要多少秒。

输入

第1行2个整数n和m,用一个空格隔开,分别表示接水人数和龙头个数。

第2行n个整数w1、w2、……、wn,每两个整数之间用一个空格隔开,wi表示i号同学的接水量。

1≤n≤10000,1≤m≤100且m≤n;

1≤wi≤100。

输出

输出只有一行,1个整数,表示接水所需的总时间。

样例输入

样例#1:

53

44121

样例#2:

84

2371873270938076

样例输出

样例#1:

4

样例#2:

163

提示

输入输出样例1解释:

第1秒,3人接水。

第1秒结束时,1、2、3号同学每人的已接水量为1,3号同学接完水,4号同学接替3号同学开始接水。

第2秒,3人接水。

第2秒结束时,1、2号同学每人的已接水量为2,4号同学的已接水量为1。

第3秒,3人接水。

第3秒结束时,1、2号同学每人的已接水量为3,4号同学的已接水量为2。

4号同学接完水,5号同学接替4号同学开始接水。

第4秒,3人接水。

第4秒结束时,1、2号同学每人的已接水量为4,5号同学的已接水量为1。

1、2、5号同学接完水,即所有人完成接水。

总接水时间为4秒。

来源

NOIP2010复赛普及组第二题

时间:

2021.02.04

创作:

欧阳育

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

当前位置:首页 > PPT模板 > 其它模板

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

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