Codeforces Round #742 (Div. 2)

简介: Codeforces Round #742 (Div. 2)

A. Domino Disaster

time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output


Alice has a grid with 22 rows and nn columns. She fully covers the grid using nn dominoes of size 1×21×2 — Alice may place them vertically or horizontally, and each cell should be covered by exactly one domino.


Now, she decided to show one row of the grid to Bob. Help Bob and figure out what the other row of the grid looks like!


Input


The input consists of multiple test cases. The first line contains an integer tt (1≤t≤50001≤t≤5000) — the number of test cases. The description of the test cases follows.


The first line of each test case contains an integer nn (1≤n≤1001≤n≤100) — the width of the grid.


The second line of each test case contains a string ss consisting of nn characters, each of which is either L, R, U, or D, representing the left, right, top, or bottom half of a domino, respectively (see notes for better understanding). This string represents one of the rows of the grid.


Additional constraint on the input: each input corresponds to at least one valid tiling.


Output


For each test case, output one string — the other row of the grid, using the same format as the input string. If there are multiple answers, print any.


Example


input

Copy

4

1

U

2

LR

5

LRDLR

6

UUUUUU


output

Copy

D

LR

LRULR

DDDDDD

Note


In the first test case, Alice shows Bob the top row, the whole grid may look like


In the second test case, Alice shows Bob the bottom row, the whole grid may look like:


c39cc30375b80ea49217a9f313141eea.png

In the third test case, Alice shows Bob the bottom row, the whole grid may look like:


In the fourth test case, Alice shows Bob the top row, the whole grid may look like:


题目挺简单的,直接上代码。

 

#include <iostream>
using namespace std;
#define ll long long
char s[333];
signed main() {
  long long t;
  cin >> t;
  while (t--) {
    long long n;
    cin >> n;
    scanf("%s", s + 1);
    for (int i = 1; i <= n; i++) {
      if (s[i] == 'U') {
        printf("D");
        continue;
      }
      if (s[i] == 'D') {
        printf("U");
        continue;
      }
      printf("%c", s[i]);
    }
    printf("\n");
  }
}


相关文章
|
人工智能 算法 BI
Codeforces Round 891 (Div. 3)
Codeforces Round 891 (Div. 3)
118 0
Codeforces Round 891 (Div. 3)
Codeforces Round #192 (Div. 2) (329A)C.Purification
Codeforces Round #192 (Div. 2) (329A)C.Purification
45 0
|
人工智能 算法 BI
Codeforces Round #179 (Div. 2)A、B、C、D
我们每次加进来的点相当于k,首先需要进行一个双重循环找到k点和所有点之间的最短路径;然后就以k点位判断节点更新之前的k-1个点,时间复杂度降到O(n^3),而暴力解法每次都要进行floyd,时间复杂度为O(n^4);相比之下前述解法考虑到了floyd算法的性质,更好了运用了算法的内质。
54 0
Codeforces Round #178 (Div. 2)
在n条电线上有不同数量的鸟, Shaass开了m枪,每一枪打的是第xi条电线上的第yi只鸟,然后被打中的这只鸟左边的飞到第i-1条电线上,右边的飞到i+1条电线上,没有落脚点的鸟会飞走。
51 0
|
索引
Codeforces Round 817 (Div. 4)
Codeforces Round 817 (Div. 4)A~G题解
108 0