CF1567A 题解(未过)

Jerrlee✅

2021-09-06 09:17:18

Solution

## 题意 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)