#include <iostream> #include <string.h>using namespace Std;char c[100],d[100];int o=0,e=0;typedef struct Bitnode{char data;struct bitnode *lchild,*rchild;} Bitnode,*bitree;void Insert (Bitree &t1,char key) {if (t1==null) {t1=new bitnode;t1->lchild=t1->rchild=null; T1->data=key;return;} Else{if (key<t1->data) Insert (t1->lchild,key); else insert (T1->rchild,key);}} void preorder (Bitree t) {if (t!=null) {c[o++]=t->data;preorder (t->lchild);p reorder (t->rchild);}} void Postorder (Bitree T3) {if (t3!=null) {postorder (t3->lchild);p Ostorder (t3->rchild);d [E++]=t3->data;}} int main () {char a[100],b[100];int n,len,i;bitree t1;while (cin>>n) {if (n==0) {break;} T1=null;cin>>a;len=strlen (a); for (i=0;i<len;i++) {insert (T1,a[i]);} Preorder (t1); c[o]= ';p ostorder (t1);d [e]= ']; for (i=0;i<n;i++) {cin>>b;if (strcmp (A, b) ==0) cout<< "Yes" <<endl;else if (strcmp (b,c) ==0) cout<< "yes" <<endl;else if (strcmp (b,d) ==0) cout<< "Yes" <<endl;elsecout<< "NO" <<endl;}} return 0;}
Sdutoj 24,822 Fork Sorting tree