蓝桥杯 ADV-176 算法提高 陶陶摘苹果

问题描述
  陶陶家的院子里有一棵苹果树,每到秋天树上就会结出n个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
  现在已知n个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。
输入格式
  输入包括两行数据。第一行只包括两个正整数n(5<=n<=200)和m(100<=m<=150),表示苹果数目和桃桃伸手可达到的高度(以厘米为单位)。第二行包含n个100到200之间(包括100和200)的整数(以厘米为单位)分别表示苹果到地面的高度,两个相邻的整数之间用一个空格隔开。
输出格式
  输出包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。
样例输入
10 110
100 200 150 140 129 134 167 198 200 111
样例输出
5

 

蓝桥杯 ADV-175 算法提高 三个整数的排序

问题描述
  输入三个数,比较其大小,并从大到小输出。
输入格式
  一行三个整数。
输出格式
  一行三个整数,从大到小排序。
样例输入
33 88 77
样例输出
88 77 33

 

蓝桥杯 ADV-171 算法提高 身份证号码升级

问题描述
  从1999年10月1日开始,公民身份证号码由15位数字增至18位。(18位身份证号码简介)。升级方法为:
  1、把15位身份证号码中的年份由2位(7,8位)改为四位。
  2、最后添加一位验证码。验证码的计算方案:
  将前 17 位分别乘以对应系数 (7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2) 并相加,然后除以 11 取余数,0-10 分别对应 1 0 x 9 8 7 6 5 4 3 2。
  请编写一个程序,用户输入15位身份证号码,程序生成18位身份证号码。假设所有要升级的身份证的四位年份都是19××年
输入格式
  一个15位的数字串,作为身份证号码
输出格式
  一个18位的字符串,作为升级后的身份证号码
样例输入
110105491231002
样例输出
11010519491231002x
数据规模和约定
  不用判断输入的15位字符串是否合理

 

蓝桥杯 ADV-162 算法提高 题目1 最大最小值

问题描述
  给定 N 个整数,请你找出这 N 个数中最大的那个和最小的那个。
输入格式
  第一行包含一个正整数 N 。(1 ≤ N ≤ 10000)。
  第二行为 N 个用空格隔开的整数,每个数的绝对值不超过 1000000。
输出格式
  输出仅一行,包含两个整数 x,y,x 表示 N 个数中的最大值,y 表示 N 个数中的最小值。x,y 之间用一个空格隔开。
样例输入
4
2 0 1 2
样例输出
2 0

 

蓝桥杯 ADV-158 算法提高 新建Microsoft Word文档

问题描述
  L正在出题,新建了一个word文档,想不好取什么名字,身旁一人惊问:“你出的题目叫《新建Microsoft Word文档》吗?”,L大喜,一拍桌子,说:“好,就叫这个名字了。”
  仔细观察,当你新建一个word文档时,会得到一个名为“新建 Microsoft Word 文档.doc”的文件,再新建一个,则名为“新建 Microsoft Word 文档(2).doc”,再新建,便是“新建 Microsoft Word 文档(3).doc”。不断新建,编号不断递增。倘若你现在新建了三个文档,然后删除了“新建 Microsoft Word 文档(2).doc”,再新建就又会得到一个“新建 Microsoft Word 文档(2).doc”。
  严格说,Windows在每次新建文档时,都会选取一个与已有文件编号不重复的最小正整数作为新文档的编号。
  请编程模拟以上过程,支持以下两种操作
  New:新建一个word文档,反馈新建的文档的编号
  Delete id:删除一个编号为id的word文档,反馈删除是否成功
  初始时一个文件都没有,“新建 Microsoft Word 文档.doc”的编号算作1。
输入格式
  第一行一个正整数n表示操作次数,接下来n行,每行表示一个操作。若该行为”New”,则表示新建,为”Delete id”则表示要删除编号为id的文档,其中id为一个正整数。操作按输入顺序依次进行。
输出格式
  对于输入的每一行,输出其反馈结果。对于新建操作,输出新建的文档的编号;对于删除操作,反馈删除是否成功:如果删除的文件存在,则删除成功,输出”Successful”,否则输出”Failed”。
样例输入
12
New
New
New
Delete 2
New
Delete 4
Delete 3
Delete 1
New
New
New
Delete 4

样例输出
1
2
3
Successful
2
Failed
Successful
Successful
1
3
4
Successful

数据规模和约定
  操作次数(即输入的行数)不超过1481
  删除编号的数值不超过2012

 

蓝桥杯 ADV-155 算法提高 上帝造题五分钟

问题描述
  第一分钟,上帝说:要有题。于是就有了L,Y,M,C
  第二分钟,LYC说:要有向量。于是就有了长度为n写满随机整数的向量
  第三分钟,YUHCH说:要有查询。于是就有了Q个查询,查询向量的一段区间内元素的最小值
  第四分钟,MZC说:要有限。于是就有了数据范围
  第五分钟,CS说:要有做题的。说完众神一哄而散,留你来收拾此题
输入格式
  第一行两个正整数n和Q,表示向量长度和查询个数
  接下来一行n个整数,依次对应向量中元素:a[0],a[1],…,a[n-1]
  接下来Q行,每行两个正整数lo,hi,表示查询区间[lo, hi]中的最小值,即min(a[lo],a[lo+1],…,a[hi])。
输出格式
  共Q行,依次对应每个查询的结果,即向量在对应查询区间中的最小值。
样例输入
7 4
1 -1 -4 8 1 2 -7
0 0
1 3
4 5
0 6
样例输出
1
-4
1
-7
样例说明
  第一个查询[0,0]表示求min{a[0]}=min{1}=1
  第二个查询[1,3]表示求min{a[1],a[2],a[3]}=min{-1,-4,8}=-4
  第三个查询[4,5]表示求min{a[4],a[5]}=min{1,2}=1
  第四个查询[0,6]表示查询整个向量,求min{a[0..6]}=min{1,-1,-4,8,1,2,-7}=-7
数据规模和约定
  1<=n<=1984,1<=Q<=1988,向量中随机整数的绝对值不超过1,000