求助!!!
查看原帖
求助!!!
235901
Always_Remember_It楼主2021/10/29 21:28
#include <bits/stdc++.h>
using namespace std;
const int N=25,M=1100000;
int a[N][N];
int main(){
	int t;cin>>t;
	for(int p=1;p<=t;p++){
		int n;cin>>n;n*=2;
		for(int i=1;i<=n;i++) cin>>a[p][i];
		int b[N],l[M][N],o=pow(2,n),h[N];
		bool f=0;
		memset(l,0,sizeof(l));
		for(int i=0;i<o;i++){
			memset(b,0,sizeof(b));
			int k=i,cnt=0;
			while(k) b[++cnt]=k%2,k/=2;
			for(int j=1;j<=n-cnt;j++) l[i][j]=0;
			for(int j=n-cnt+1;j<=n;j++) l[i][j]=b[n-j+1];
		}
		for(int i=1;i<=o;i++){
			memset(h,0,sizeof(h));
			int z=0,y=0;
			for(int j=1;j<=n;j++)
				if(l[i][j]==0) h[j]=a[p][++z];
				else h[j]=a[p][n-(++y)+1];
			bool t=1;
			for(int j=1;j<=n;j++) if(h[j]!=h[n-j+1]){t=0;break;}
			if(t==1){
				for(int j=1;j<=n;j++)
					if(l[i][j]==0) cout<<"L";
					else cout<<"R";
				cout<<endl;
				f=1;break;
			}
		}
		if(f==0) cout<<"-1"<<endl;
	}
	return 0;
}
2021/10/29 21:28
加载中...