#include<bits/stdc++.h>
using namespace std;
inline int read()
{
register int x=0,f=1;
register char ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-') f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
x=(x<<3)+(x<<1)+(ch^48);
ch=getchar();
}
return x*f;
}
inline void write(int x)
{
if(x<0)
{
x=~(x-1);
putchar('-');
}
if(x>9) write(x/10);
putchar(x%10+48);
}
int n;
char first[127],mid[127],last[127];
void fir(int lf,int rf,int lm,int rm,int ll,int rl)
{
if(lf>rf) return;
first[lf]=last[rl];
if(lf==rf) return;
int i;
for(i=lm;i<=rm;i++) if(mid[i]==last[rl]) break;
fir(lf+1,lf+i-lm,lm,i-1,ll,ll+i-lm-1);
fir(lf+i-lm+1,rf,i+1,rm,ll+i-lm,rl-1);
}
signed main()
{
char ch;
while(ch=getchar())
{
if(ch>90||ch<65) break;
mid[n++]=ch;
}
for(int i=0;i<n;last[i++]=ch) ch=getchar();
fir(0,n-1,0,n-1,0,n-1);
for(int i=0;i<n;i++) putchar(first[i]);
putchar('\n');
return 0;
}
我试过很多遍,甚至下载了样例测试,和我的程序结果一样,为什么全都WA了?