• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Tree Recovery HEUOJ 1045 樹的遍歷

            Posted on 2012-04-26 13:32 lenohoo 閱讀(223) 評論(0)  編輯 收藏 引用

            Tree Recovery

            Description

            Little Valentine liked playing with binary trees very much. Her favorite game was constructing randomly looking binary trees with capital letters in the nodes.

            This is an example of one of her creations:


                    D
                   / \
                  /   \
                 B     E
                / \     \  
               /   \     \
              A    C      G
                         /
                        /
                       F

            To record her trees for future generations, she wrote down two strings for each tree: a preorder traversal (root, left subtree, right subtree) and an inorder traversal (left subtree, root, right subtree). For the tree drawn above the preorder traversal is DBACEGF and the inorder traversal is ABCDEFG.

            She thought that such a pair of strings would give enough information to reconstruct the tree later (but she never tried it).

            Now, years later, looking again at the strings, she realized that reconstructing the trees was indeed possible, but only because she never had used the same letter twice in the same tree.

            However, doing the reconstruction by hand, soon turned out to be tedious.

            So now she asks you to write a program that does the job for her!

            Input

            The input will contain one or more test cases.

            Each test case consists of one line containing two strings preord and inord, representing the preorder traversal and inorder traversal of a binary tree. Both strings consist of unique capital letters. (Thus they are not longer than 26 characters.)

            Input is terminated by end of file.

            Output

            For each test case, recover Valentine's binary tree and print one line containing the tree's postorder traversal (left subtree, right subtree, root).

            Sample Input

            DBACEGF ABCDEFG
            BCAD CBAD

            Sample Output

            ACBFGED
            CDAB

            告訴你樹的先序遍歷,中序遍歷,求其后序遍歷
            #include<cstdio>
            #include
            <cstring>
            #include
            <iostream>
            using namespace std;
            char ch1[30],ch2[30],ch[30];
            int len;
            void dfs(int s1,int e1,int s2,int e2){
                
            if(s1>e1) return;
                ch[
            --len]=ch1[s1];
                
            int i;
                
            for(i=s2;ch2[i]!=ch1[s1] && i<=e2;i++);
                dfs(s1
            +i-s2+1,e1,i+1,e2);
                dfs(s1
            +1,s1+i-s2,s2,i-1);
            }
            int main(){
                
            while(~scanf("%s%s",ch1,ch2)){
                    len
            =strlen(ch1);
                    ch[len]
            ='\0';
                    dfs(
            0,len-1,0,len-1);
                    printf(
            "%s\n",ch);
                }
            }

            posts - 3, comments - 1, trackbacks - 0, articles - 16

            Copyright © lenohoo

            色偷偷久久一区二区三区| 久久国产精品99国产精| 久久亚洲精品无码VA大香大香 | 久久精品国产一区二区电影| 亚洲国产成人久久一区久久| 久久久国产乱子伦精品作者| 国产精品青草久久久久福利99| 久久午夜无码鲁丝片秋霞| 久久久久久亚洲精品成人| 久久久精品视频免费观看| 久久精品人人做人人爽97| 日韩va亚洲va欧美va久久| 99久久精品国产免看国产一区| 国产成人综合久久精品红| 久久国产乱子伦精品免费强| 国产成人精品久久| 伊人情人综合成人久久网小说| 香蕉久久夜色精品国产小说| 无码超乳爆乳中文字幕久久| 久久亚洲精品无码播放| 99久久99久久精品国产片| 亚洲综合日韩久久成人AV| 午夜精品久久久久久久无码| 国产成人无码精品久久久免费 | 久久激情五月丁香伊人| 久久99热国产这有精品| 69SEX久久精品国产麻豆| 国内精品九九久久精品| 久久久国产亚洲精品| 久久婷婷色香五月综合激情| 久久有码中文字幕| 亚洲国产成人精品无码久久久久久综合| 97久久香蕉国产线看观看| 久久精品国产久精国产思思| 99久久国产综合精品麻豆| 久久国产亚洲高清观看| 久久久久久久综合日本亚洲| 美女写真久久影院| 亚洲精品国产综合久久一线| 久久午夜夜伦鲁鲁片免费无码影视| 久久久久亚洲AV无码观看|