Yemaster摘苹果题解 Pascal
2017-02-07 00:00
148 查看
Yemaster摘苹果
时间限制: 1 Sec内存限制: 128 MB[提交][状态][讨论版]
题目描述
Yemaster家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,Yemaster就会跑去摘苹果。Yemaster有个n厘米高的板凳,当他不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度,以及Yemaster把手伸直的时候能够达到的最大高度,请帮Yemaster算一下他能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。
输入
输入文件apple.in包括两行数据。第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示Yemaster把手伸直的时候能够达到的最大高度和一个整数n,表示板凳的高度,不会超过30,单位:cm。输出
输出文件apple.out包括一行,这一行只包含一个整数,表示Yemaster能够摘到的苹果的数目。样例输入
100 200 150 140 129 134 167 198 200 111 110 30
样例输出
5
分析
此题可以先算出Yemaster能够到的最高高度,然后给苹果排序,去掉Yemaster不能够到的苹果,算出总数即可源程序
var
a:
array
[
1..12
]
of
longint
;
n,i,m:
longint
;
procedure
qsort(l,r:
longint
);//快排,也可以用其他排序
var
i,j,m,t:
longint
;
begin
i:=l;
j:=r;
m:=a[(l+r)
div
2
];
repeat
while
a[i]<m
do
i:=i+
1
;
while
a[j]>m
do
j:=j-
1
;
if
not
(i>j)
then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
i:=i+
1
;
j:=j-
1
;
end
;
until
i>j;
if
l<j
then
qsort(l,j);
if
i<r
then
qsort(i,r);
end
;
begin
for
i:=
1
to
10
do
read(a[i]);
readln(n,m);
n:=n+m
;
qsort(
1
,
10
);
while
n<a[i]
do
dec(i);
writeln
(i);
end
.
相关文章推荐
- 纪念品分组Pascal
- 软件著作权登记就来知本网
- 互联网的数据的背后的经济价值
- 并发下remove集合元素要注意的事情
- centos7显示时间的时区修改
- Elasticsearch入门
- 自学Python遇到瓶颈,求交流
- java代码生成工具之autoCode部署
- C#中使用MD5加密的方法
- 并发编程思考-线程安全性
- 并发编程思考-可见性问题
- Python数据分析与机器学习实战
- “不”登录操作
- centos7下源码安装redis
- Idea快捷键
- 专业的广州App开发公司都有一套自己的App开发流程|明智科技
- Java中六大时间类的使用和区别
- C#.NET解析XML(使用属性控制 XML 序列化)
- Spring MVC+Mybatis 执行存储过程,使用Map进行参数的传递
- 2017学习历程