为何不能发题解?(附AC代码)

P1046 [NOIP2005 普及组] 陶陶摘苹果

呵呵侠 @ 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

OK,明白


by 呵呵侠 @ 2019-07-25 10:14:16

刚才我看了下省选题,就能发布题解

(问题是省选题我不会)


by Aw顿顿 @ 2019-08-19 21:30:37

当然是因为水题啦

没毛病啊,提交的人太多啦,为了避免水贴,就让我奉上代码吧

信息学奥赛一本通 可以去看看 当然代码如下

代码

include<bits/stdc++.h>

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;
}

|