呵呵侠 @ 2019-07-25 10:05:57
#include <iostream>
using namespace std;
int main()
{
int a;//淘淘伸手所能触及的高度
int t=0;//能够到的苹果数
int b[10];//10个苹果的高度
for(int i=0;i<10;i++)
{
cin>>b[i];
//其实可以输入时就判断,可是这种方法只适用于输入完数字后按回车(enter)
//也就是说,如果输入完后按空格(space)就会导致输出错误
//所以,我宁愿选择两个for循环,一个输入,一个判断
}
cin>>a;
for(int i=0;i<10;i++)
{
if(b[i]<=a+30)//等号至关重要,不然卡在90分过不去了!
{
t++;
}
}
cout<<t;
return 0;//养成好习惯,写上return 0;
}
by Kuriyama_Mirai @ 2019-07-25 10:07:26
因为题解太太太多了
by SSerxhs @ 2019-07-25 10:07:32
是这题太水了题解太多了
by 铃宕 @ 2019-07-25 10:07:40
只是这道题不给交而已
by 无意识躺枪人 @ 2019-07-25 10:07:44
都四十多篇了发什么题解……
by 呵呵侠 @ 2019-07-25 10:11:38
by 呵呵侠 @ 2019-07-25 10:14:16
刚才我看了下省选题,就能发布题解
(问题是省选题我不会)
by Aw顿顿 @ 2019-08-19 21:30:37
信息学奥赛一本通 可以去看看 当然代码如下
using namespace std;
int main()
{
int a[10],b,c,d=0;
for (int i=0;i<10;i++)
cin>>a[i];
cin>>c;
for (int i=0;i<10;i++)
if (c+30>=a[i]) d++;
printf("%d",d);
return 0;
}
by Smile_Cindy @ 2019-08-24 17:16:14
请不要使用Markdown来强调头文件的重要性。
by 澪lane @ 2019-08-26 17:40:10
@呵呵侠 为了避免水贴, 附上代码:
#include<bits/stdc++.h>
#define scf scanf
#define ptf printf
#define ll long long
#define Rll register long long
#define Rint register int
#define max(a, b) ((a) > (b) ? (a) : (b))
#define min(a, b) ((a) > (b) ? (b) : (a))
using namespace std;
const int N = 20;
int num[N];
int ans_;
inline int read(){
int x = 0, f = 1;
char ch = getchar();
while(!isdigit(ch)){
if(ch == '-')
f = -1;
ch = getchar();
}
while(isdigit(ch)){
x = (x << 1) + (x << 3) + (ch ^ 48);
ch = getchar();
}
return x * f;
}
inline void find_ans(Rint ned, Rint l, Rint r){
int mid = l + r >> 1;
if(ned == num[mid]){
ans_ = mid;
return ;
}
if(l == r){
ans_ = r - 1;
return ;
}
if(ned > num[mid])
find_ans(ned, mid + 1, r);
if(ned < num[mid])
find_ans(ned, l, mid);
}
int main(){
for(Rint i = 1; i <= 10; i++)
num[i] = read();
int limit = read() + 30;
sort(num + 1, num + 10 + 1);
find_ans(limit, 1, 10);
cout << ans_;
return 0;
}