POJ 2255 Tree Recovery

POJ 2255 Tree Recovery

模板题

#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
#define maxn 50

char str1[maxn],str2[maxn];
int getm(char ch)
{
    for(int i=0; i<strlen(str2); i++)
        if(ch==str2[i]) return i;
}
void solve(int l1,int r1,int l2,int r2)
{
    int m=getm(str1[l1]);
    if(m>l2) solve(l1+1,l1-l2+m,l2,m-1);
    if(m<r2) solve(l1-l2+m+1,r1,m+1,r2);
    printf("%c",str1[l1]);
}
int main()
{
    while(~scanf("%s%s",str1,str2))
    {
        solve(0,strlen(str1)-1,0,strlen(str2)-1);
        printf("\n");
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_36258516/article/details/79822131
今日推荐