hdu 3791 二叉查找树

来源:互联网 发布:外观设计建模软件 编辑:程序博客网 时间:2024/06/03 20:36
#include <iostream>#include <cstring>#include <cstdio>using namespace std;int tree1[10000];int tree2[10000];void Insert(char word,int *tree){    int now=1;    int c=word-'0';    while(tree[now]!=-1)    {        if(tree[now]<c)            now=now*2+1;        else            now=now*2;    }    tree[now]=c;}void build(char *str,int *tree){    int l=strlen(str);    int i=1;    tree[1]=str[0]-'0';    for(i=1;i<l;i++)    {        Insert(str[i],tree);    }}int main(){    int n;    char str[1000];    while(scanf("%d",&n),n!=0)    {        memset(tree1,-1,sizeof(tree1));        memset(tree2,-1,sizeof(tree2));        scanf("%s",str);        build(str,tree1);        int i;        for(i=0;i<n;i++)        {            memset(tree2,-1,sizeof(tree2));            scanf("%s",str);            build(str,tree2);            int j;            for(j=0;j<5000;j++)            {                if(tree1[j]!=tree2[j])                    break;            }            if(j==5000)                printf("YES\n");            else                printf("NO\n");        }    }    return 0;}

原创粉丝点击