re求调
查看原帖
re求调
1018182
ShaunSH楼主2024/8/14 18:23
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
using namespace std;
string ss,mm;
string f(string x,string y){
	if(x.size()<2){
		return x;
	}
	char m;
	string x1="",x2="",y1="",y2="";
	m=x[0];
	int k,ll,ri;
	for(int i=0;i<y.size();i++){
		if(y[i]==m){
			k=i;
			break;
		}
	}
    if(k!=0){
	    y1=y.substr(0,k);
    }
    if(k!=y.size()-1){
	    y2=y.substr(k+1,y.size()-k-1);
    }
    if(k!=0)
	    ll=y[k-1];
	for(int i=0;i<x.size();i++){
		if(x[i]==ll){
			ri=i+1;
		}
	}
    if(ri!=1){
	    x1=x.substr(1,ri-1);
    }
	    x2=x.substr(ri,x.size()-ri);
	return f(x1,y1)+f(x2,y2)+m;
}
int main(){
	cin>>mm>>ss;
    cout<<f(ss,mm);
	return 0;
}
2024/8/14 18:23
加载中...