HDU-3791 二叉搜索树

来源:互联网 发布:竹笛教学的软件 编辑:程序博客网 时间:2024/06/03 21:10


判断两序列是否为同一二叉搜索树序列


每次判断输入与标准二叉搜索树是否吻合。


#include <stdio.h>#include <string.h> using namespace std;#define INF 1024char s[10];int t1[INF];int t2[INF];void inset(char w,int *t){    int pos=1;    int c=w-'0';    while(t[pos]!=-1)    {        if(t[pos]<c)            pos=2*pos+1;        else            pos=2*pos;    }    t[pos]=c;}void build(char str[],int *t){    t[1]=str[0]-'0';    for(int i=1;s[i];i++)        inset(s[i],t);}int main(){    int n,i;    while(scanf("%d",&n)&&n)    {        memset(t1,-1,sizeof(t1));        scanf("%s",s);        build(s,t1);        while(n--)        {            memset(t2,-1,sizeof(t2));            scanf("%s",s);            build(s,t2);            for(i=0;i<1024;i++)                if(t1[i]!=t2[i])                    break;            if(i==1024)                printf("YES\n");            else                printf("NO\n");        }    }    return 0;}

0 0
原创粉丝点击