#H83. [CSP-S 2021] 回文

[CSP-S 2021] 回文

题目描述

给定正整数n和整数序列a1,a2,,a2na_1, a_2, \ldots, a_{2 n},在这2n个数中1,2,…,n分别各出现恰好2次。现在进行2n次操作,目标是创建一个长度同样为2n的序列b1,b2,,b2nb_1, b_2, \ldots, b_{2 n}​,初始时b为空序列,每次可以进行以下两种操作之一:

  1. 将序列a的开头元素加到b的末尾,并从a中移除。
  2. 将序列a的末尾元素加到b的末尾,并从a中移除。

我们的目的是让b成为一个回文数列,即令其满足对所有1≤i≤n,有bi=b2n+1ib_i = b_{2 n + 1 - i}​。请你判断该目的是否能达成,如果可以,请输出字典序最小的操作方案,具体在【输出格式】中说明。

输入格式

每个测试点包含多组测试数据。

输入的第一行,包含一个整数T,表示测试数据的组数。对于每组测试数据:

第一行,包含一个正整数n。
第二行,包含2n个用空格隔开的整数a1,a2,,a2na_1, a_2, \ldots, a_{2 n}​。

输出格式

对每组测试数据输出一行答案。

如果无法生成出回文数列,输出一行‐1,否则输出一行一个长度为2n的、由字符LR构成的字符串(不含空格),其中L表示移除开头元素的操作 1,R表示操作 2。

你需要输出所有方案对应的字符串中字典序最小的一个。

字典序的比较规则如下:长度均为2n的字符串s12ns_{1 \sim 2 n}​比t12nt_{1 \sim 2 n}​字典序小,当且仅当存在下标1≤k≤2n使得对于每个1≤i<k有si=tis_i = t_isk<tks_k < t_k​。

2
5
4 1 2 4 5 3 1 2 3 5
3
3 2 1 2 1 3
LRRLLRRRRL
-1