您的位置:首页 > 其它

HDU 5444 Elven Postman 2015 ACM/ICPC Asia Regional Changchun Online

2015-10-02 16:09 309 查看
题意:给出你n个数来表示一个二叉树,让你查询q个数的位置,如果再根节点换行,否则按照图上小于当前根节点为"E",大于则为“W”、

思路:直接模拟就可以了、 如果大于则输出"W",小于则输出“E”,如果大于则找第一个大于当前数的,小于则找第一个小于当前数的、边找边输出、

AC代码:

#include<cstdio>
#include<cstring>
const int maxn=1010;
int T;
int n,m;
int a[maxn];
int main()
{
scanf("%d",&T);
while(T--){
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&m);
while(m--){
int x;
scanf("%d",&x);
for(int i=0;i<n;i++){
if(x==a[i])
break;
if(x>a[i]){
printf("W");
int y=i++;
while(a[i]<a[y])
i++;
i--;
}
else if(x<a[i]){
printf("E");
int y=i++;
while(a[i]>a[y])
i++;
i--;
}
}
printf("\n");
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: