我不理解
查看原帖
我不理解
575802
Technablode楼主2022/7/11 23:59

using namespace std;

inline void CLOSE(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
}

int n,g[1919810],a[1919810],b[1919810],l1,l2,r1,r2,x,pos,t;

int main(){
    CLOSE();
    cin>>t;
    while(t--){
    	int flag=0;
	    cin>>n;
	    l1=1;
	    r1=r2=0;
	    for(int i=1;i<=n*2;i++){
	        cin>>g[i];
	        if(g[i]==g[1]) pos=i;
	    }
	    l2=1;
	    for(int i=2;i<pos;i++) a[++r1]=g[i];
	    for(int i=n*2;i>pos;i--) b[++r2]=g[i];
	//    for(int i=l1;i<=r1;i++) cout<<a[i]<<" ";cout<<endl;
	//    for(int i=l2;i<=r2;i++) cout<<b[i]<<" ";cout<<endl;
	    string ans="L";
	    string ans2="L";
	    int i;
	    for(i=1;i<n;i++){
	    	if(l1<r1&&a[l1]==a[r1]){
	            l1++;r1--;ans+='L';ans2+='L';
	        }
	        else if(l1<=r1&&l2<=r2&&a[l1]==b[r2]){
	            l1++;r2--;ans+='L';ans2+='R';
	        }
	        else if(l1<=r1&&l2<=r2&&b[l2]==a[r1]){
	            l2++;r1--;ans+='R';ans2+='L';
	        }
	        else if(l2<r2&&b[l2]==b[r2]){
	            l2++;r2--;ans+='R';ans2+='R';
	        }
	        else{
	            cout<<"-1"<<endl;
	            flag=1;
	            break;
	        }
	    }
	    if(flag) continue;
	    int len=ans2.size();
	    for(int i=len-1;~i;i--) ans+=ans2[i];
	    cout<<ans<<endl;
	}
    return 0;
}

求看到底是哪里写错了

2022/7/11 23:59
加载中...