두 갈래 나무 오목법 출력

1338 단어

제목 설명


나무의 오목 표현법은 주로 나무의 화면이나 출력을 출력하는 데 사용되는데 그 표현의 기본 사상은 형제 간의 길이가 같고 하나의 결점이 그 자결점의 길이보다 작지 않다는 것이다.두 갈래 나무도 이렇게 나타낼 수 있다. 가령 잎결점의 길이가 1이고 비잎결점의 길이가 좌우 자목의 길이의 합과 같다고 가정하면 된다.두 갈래 나무의 한 결점은 알파벳으로 (중복 없음) 출력할 때 루트 결점에서 시작합니다. 줄마다 몇 개의 결점 문자를 출력합니다. (같은 문자의 개수는 이 결점 길이와 같습니다.) 이 결점에 왼쪽 트리가 있으면 왼쪽 트리를 출력합니다.이 결점에 오른쪽 트리가 있으면 오른쪽 트리를 출력합니다.두 갈래 나무의 결점을 문자로 묘사한다고 가정하면, 현재 선순과 중순으로 흐르는 문자열을 제시하고, 나무의 오목 표현법으로 이 두 갈래 나무를 출력합니다.
 

입력


입력은 모두 두 줄입니다. 각 줄은 알파벳으로 구성된 문자열입니다. (한 줄의 모든 문자는 유일한 것입니다.) 각각 두 갈래 트리의 선순 역행과 중순 역행의 서열을 나타냅니다.

출력


출력 줄 수는 이 나무의 결점 수와 같고 줄마다 알파벳이 같다.

샘플 입력

ABCDEFG
CBDAFEG

샘플 출력

AAAA
BB
C
D
EE
F
G
#include
#include
using namespace std;
const int maxn=100001;
char a[maxn],b[maxn],c[maxn];
int dfs(int l1,int r1,int l2,int r2)
{
    if(l1==r1)
    {
        c[l1]=1;
        return c[l1];
    }
    int i;
    for(i=l2;i<=r2;i++)//  
        if(a[l1]==b[i])
            break;
    if(l2>a>>b;
    int lena=strlen(a);
    int lenb=strlen(b);
    dfs(0,lena-1,0,lenb-1);
    for(int i=0;i

좋은 웹페이지 즐겨찾기