두 갈래 나무의 차원을 두루 훑어보다

1480 단어 두 갈래 나무

두 갈래 나무의 차원을 두루 훑어보다


Time Limit: 1000MS
Memory Limit: 65536KB

Problem Description


이미 알고 있는 두 갈래 나무의 전차 역력과 중차 역력은 두 갈래 나무의 차원 역력을 구한다.

Input


입력 데이터가 여러 그룹, 입력 T는 T그룹 테스트 데이터가 있음을 나타낸다.각 그룹의 데이터는 길이가 50보다 작은 두 개의 문자열이 있는데, 첫 번째 문자열은 앞 순서대로, 두 번째 문자열은 중간 순서대로이다.

Output


그룹마다 이 두 갈래 나무를 출력하는 차원이 두루 흐른다.

Example Input

2
abc
bac
abdec
dbeac

Example Output

abc
abcde

#include #include #include int k; char a[100],b[100]; struct bittree { char data; struct bittree * ltree,* rtree; }; void cengci(struct bittree * root) { if(root==NULL) { return ; } int f,r; f=1;r=1; struct bittree * s[100],*p; s[1]=root; while(f<=r) { p=s[f++]; printf("%c",p->data); if(p->ltree!=NULL) { s[++r]=p->ltree; } if(p->rtree!=NULL) { s[++r]=p->rtree; } } } struct bittree * create(int len,char * a,char * b) { struct bittree * root; int i; root=(struct bittree *)malloc(sizeof(struct bittree)); if(len==0) { root=NULL; } else { root->data=a[0]; for(i=0;idata==b[i]) { break; } } root->ltree=create(i,a+1,b); root->rtree=create(len-i-1,a+i+1,b+i+1); } return root; } int main() { int t,len; struct bittree * root; scanf("%d",&t); getchar(); while(t--) { k=0; gets(a); gets(b); len=strlen(a); root=create(len, a, b); cengci(root); printf(""); } return 0; }

좋은 웹페이지 즐겨찾기