nyoj 50-爱摘苹果的小明 (比较)

50-爱摘苹果的小明


内存限制:64MB 时间限制:1000ms Special Judge: No
accepted:10 submit:15

题目描述:

小明家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,小明就会跑去摘苹果。小明有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
  现在已知10个苹果到地面的高度,以及小明把手伸直的时候能够达到的最大高度,请帮小明算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。

输入描述:

第一行输入N(0<N<100)表示测试数据组数,接下来每组测试输入包括两行数据。第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示小明把手伸直的时候能够达到的最大高度。

输出描述:

输出包括一行,这一行只包含一个整数,表示小明能够摘到的苹果的数目。

样例输入:

1
100 200 150 140 129 134 167 198 200 111
110

样例输出:

5

分析:
  1、依次比较输入的A[i]是否在[0, temp + 30]的范围之内就行了

核心代码:
1 for(int i = 0; i < 10; ++ i)
2     if(temp >= A[i])
3         cnt ++;

 

C/C++代码实现(AC):
 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cstring>
 4 #include <cstdio>
 5 #include <cmath>
 6 #include <stack>
 7 #include <map>
 8 #include <queue>
 9 #include <set>
10 
11 using namespace std;
12 const int MAXN = 12;
13 const int MAX = 0x3f3f3f3f;
14 
15 int main()
16 {
17 
18     int t;
19     scanf("%d", &t);
20     while(t --)
21     {
22         int A[MAXN], temp, cnt = 0;
23         for(int i = 0; i < 10; ++ i)
24             scanf("%d", &A[i]);
25         scanf("%d", &temp);
26         temp += 30;
27         for(int i = 0; i < 10; ++ i)
28             if(A[i] <= temp)
29                 ++ cnt;
30         printf("%d
", cnt);
31     }
32     return 0;
33 }
原文地址:https://www.cnblogs.com/GetcharZp/p/9106011.html