CF1567A 题解(未过)
Jerrlee✅
2021-09-06 09:17:18
## 题意
Alice 有 $2$ 行 $n$ 列的多米诺卡槽,她用 $1 \times 2$ 的多米诺骨牌把卡槽放满了。她展示放置骨牌情况的一半,要你填出另一半。
## 思路
因为骨牌只有两行,所以它们一定对称。如果当前卡槽中有垂直放着的这些 $\texttt{U}$ 和 $\texttt{D}$ 的骨牌,则另一行中对应的骨牌的一半必须分别为 $\texttt{D}$ 和 $\texttt{U}$(反过来)。否则,我们要用和 Alice 对应的的骨牌($\texttt{L}$ 和 $\texttt{R}$ 的)填充行的其余部分。
## 注意
这又是一个多解的题目,样例对的,但不代表只能是样例!
## 代码
```cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int n;
cin>>n;
string s;
cin>>s;
for(int i=0;i<s.length();i++)
if(s[i]=='U') cout<<'D'; // 是 U 就打 D
else if(s[i]=='D') cout<<'U'; // 是 D 就打 U
else cout<<s[i];
cout<<endl; // 记得换行
}
}
```
[AC记录(洛谷)](https://www.luogu.com.cn/record/57572307)
[AC记录(CF)](https://codeforces.com/contest/1567/submission/127926299)