- 降雨量
- 2020-06-11 11:17:09 @
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 条评论
-
航空信奥 LV 5 @ 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
- 分类
- (无)
- 标签
- 递交数
- 5
- 已通过
- 0
- 通过率
- 0%
- 上传者