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");
  }
}


相关文章
|
9月前
|
机器学习/深度学习 人工智能 移动开发
.Codeforces Round 883 (Div. 3)
Codeforces Round 883 (Div. 3)
|
7月前
|
人工智能 算法 BI
Codeforces Round #179 (Div. 2)A、B、C、D
我们每次加进来的点相当于k,首先需要进行一个双重循环找到k点和所有点之间的最短路径;然后就以k点位判断节点更新之前的k-1个点,时间复杂度降到O(n^3),而暴力解法每次都要进行floyd,时间复杂度为O(n^4);相比之下前述解法考虑到了floyd算法的性质,更好了运用了算法的内质。
32 0
|
8月前
Codeforces Round #742 (Div. 2)
Codeforces Round #742 (Div. 2)
27 0
|
9月前
|
机器学习/深度学习 Go
codeforces round 885 (div. 2)
codeforces round 885 (div. 2)
62 0
|
12月前
Codeforces Round 799 (Div. 4)
Codeforces Round 799 (Div. 4)
91 0
Codeforces Round 835 (Div. 4)
Codeforces Round 835 (Div. 4) A~F题解
87 0
|
索引
Codeforces Round 817 (Div. 4)
Codeforces Round 817 (Div. 4)A~G题解
86 0
|
机器学习/深度学习