新人求助,降雨量那题,本机AC提交RE。。

RUN ID343625

以下是我的代码:
cpp
#include<iostream>
using namespace std;
int y[50],r[50];
int TF(int a,int b)
{
int c;
if(r[a]>r[b]) return 0;
for(c=b+1;c<a;c++)
{
if(r[c]>=r[a]) return 0;
}
return 1;
}
int maybe(int a ,int b)
{
int c,d=0;
for(c=b;c<a;c++)
{
if(y[c]+1<y[c+1]) { return 2; }
}
return 1;
}
int main()
{
int X,Y,m,n,a,b,i,j,k,l;
cin>>n;
for(i=0;i<n;i++)
cin>>y[i]>>r[i];
cin>>m;
for(i=0;i<m;i++)
{
cin>>Y>>X;
for(j=0;j<n;j++)
{
if(X==y[j]) a=j;
if(Y==y[j]) b=j;
}
l=0;
k=TF(a,b);
if(k==0) { cout<<"false"<<endl; continue; }
l=maybe(a,b);
if(l==2) { cout<<"maybe"<<endl; continue; }
if(l==1) { cout<<"true"<<endl; continue; }
}
return 0;
}

8 条评论

  • @ 2021-01-03 15:13:40

    NB @DPair

  • @ 2020-07-19 21:16:43

    LS 鄙视 齐天小圣,大圣之徒 神犇掉rp……

    建议去学splay或线段树再来捉此题~

  • @ 2020-07-19 14:41:08

    这贴6年前就有了,感谢搬运工

  • @ 2020-06-12 13:39:52

    数据范围的话数组大小我试过用50000,变量我能想到的只有long int也不行所以上面程序才用的int和y[50];

    我整个程序虽然现在无法AC但逻辑并没有错,我诚心诚意地发问了,你不说也就算了,用个puts吐槽我又是要作甚?

  • @ 2020-06-12 13:38:38

    最后吐槽一句。。puts("2\n0\n2\n1\n3"),他给的样例输入我本机输出答案是对的啊。。。为什么交上来WA了呢。。

  • @ 2020-06-12 13:38:30

    原来你的逻辑是样例过了就是A了啊。。。自己看看原题数据范围。。。再不懂就别做了吧 = =+

  • @ 2020-06-12 13:38:04

    @Seter 抱歉发上来才发现木有缩进。。。本机我确实是运行通过答案对的啊。。。有问题烦请明示。。。

    我的思路是将X,Y的具体年份数值转换为下标a,b,先假设年份没有空缺,用TF函数判定是否直接为F,没有的话再用maybe函数判定年份是否连续,不连续的话判为maybe连续判T;他给的样例输入我本机输出答案是对的,VS2010编译器。。。

    当然你要吐槽我是“C风格的C++”。。。这。。。

  • @ 2020-06-12 13:37:35

    代码明显有问题,你本机是怎么A的。。

  • 1

信息

难度
10
分类
(无)
标签
递交数
3
已通过
0
通过率
0%
上传者