/*
zoj 1944 图论
典型题,由树的前序遍历和中序遍历求后序遍历。
这题跟zoj_1500可以做比较
*/
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
string ans,a,b;
void build( int l1,int r1,int l2,int r2 )
{
int i,len=0;
if( l1>r1 || l2>r2 ) return;
ans+=a[l1];
for( i=l2;i<=r2;i++,len++ )
{
if( a[l1]==b[i] )
break;
}
build( l1+len+1,r1,i+1,r2 );
build( l1+1,l1+len,l2,i-1 );
}
int main()
{
while( cin>>a>>b )
{
int i;
ans="";
build( 0,a.size()-1,0,b.size()-1 );
for( i=ans.size()-1;i>=0;i-- )
cout<<ans[i];
cout<<endl;
}
return 0;
}
zoj 1944 Tree Recovery
最新推荐文章于 2023-03-02 16:41:40 发布