WA了7个,其他全RE,谁能帮帮我
  • 板块学术版
  • 楼主tanruixuan
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/8/26 13:27
  • 上次更新2024/8/26 14:06:17
查看原帖
WA了7个,其他全RE,谁能帮帮我
1277329
tanruixuan楼主2024/8/26 13:27
#include <bits/stdc++.h>
using namespace std;
const int N=500005;
int a[N],zhan1[N],zhan2[N],l1=1,r1=0,l2=1,r2=0,t,n,x=-1,tot=1,flag=0;
char ans[N];
int main()
{
    cin>>t;
    while (t--)
    {
        l1=1,r1=0,l2=1,r2=0,x=-1;
        cin>>n;
        for (int i=1;i<=2*n;i++) cin>>a[i];
        for (int i=2;i<=2*n;i++) if(a[i]==a[1]) {x=i;break;}
        if (x==-1) {cout<<"-1"<<endl;continue;}
        for (int i=2;i<x;i++) zhan1[++r1]=a[i];
        for (int i=2*n;i>=x+1;i--) zhan2[++r2]=a[i];
        ans[2*n]=ans[1]='L';
        while (l1<=r1||l2<=r2){
            if (zhan1[l1]==zhan1[r1]&&r1-l1>=1) {ans[++tot]='L';ans[n*2-tot+1]='L';l1++;r1--;}
            else if (zhan1[l1]==zhan2[r2]) {ans[++tot]='R';ans[n*2-tot+1]='L';l1++;r2--;}
            else if (zhan2[l2]==zhan1[r1]) {ans[++tot]='L';ans[n*2-tot+1]='R';l2++;r1--;}
            else if (zhan2[l2]==zhan2[r2]&&r2-l2>=1) {ans[++tot]='R';ans[n*2-tot+1]='R';l2++;r2--;}
            else {cout<<"-1"<<endl;flag=1;break;}
        }if (flag==1) {continue;}
        for (int i=n*2;i>=1;i--) cout<<ans[i];
        cout<<endl;
    }
    return 0;
}
``
2024/8/26 13:27
加载中...