AT_arc069_b [ABC055D] Menagerie

题目描述

因为喜欢动物,すぬけくん建造了一个动物园。 在这个动物园中,有 $1,2,3,...,N$ 编号的 $N$ 只动物按环状排列。编号为 $i$($2 \le i \le N-1$)的动物与编号 $i-1$ 和 $i+1$ 的动物相邻。而 $1$ 号动物与 $N$ 号和 $2$ 号动物相邻,$N$ 号动物与 $N-1$ 号和 $1$ 号动物相邻。 在动物园中有两类动物:只说真话的“羊”,以及只说假话的“狼”。 すぬけくん无法分辨谁是“羊”谁是“狼”,于是向每只动物询问它的左右邻居是否为同一种类。第 $i$ 只动物的回答为 $s_i$。若 $s_i$ 为 `o`,表示第 $i$ 只动物说自己的两侧邻居是同一种类,若为 `x`,表示为不同种类。 更正式地说,当一只“羊”的左右邻居同为“羊”,或同为“狼”时,它会说 `o`,否则说 `x`。当一只“狼”的左右邻居同为“羊”或同为“狼”时,它会说 `x`,否则说 `o`。 すぬけくん很好奇,是否存在一种动物种类的分配方式,不与这些回答相矛盾。如果存在,请给出一种方案;如果不存在,请输出 `-1`。

输入格式

输入通过标准输入给出,格式如下: > $N$ $s$

输出格式

如果不存在与 $s$ 不矛盾的动物种类分配方式,请输出 `-1`。 如果存在,请输出一个仅由 `S`(羊)和 `W`(狼)组成的长度为 $N$ 的字符串 $t$。$t_i$ 为 `S` 表示第 $i$ 只动物为“羊”,为 `W` 表示为“狼”。只要输出的方案与 $s$ 不矛盾,即视为正确答案。

说明/提示

### 约束条件 - $3 \le N \le 10^5$ - $s$ 是仅由 `o` 和 `x` 组成的、长度为 $N$ 的字符串 ### 样例解释 1 例如编号 $1,2,3,4,5,6$ 的动物分别为羊、羊、羊、狼、狼、羊时,与所有动物的发言均不矛盾。或如“狼、羊、狼、羊、狼、狼”的分配也不矛盾。要注意,若一只羊的两侧邻居相同,则说 `o`,若不同则说 `x`;而狼正好相反。 ![b34c052fc21c42d2def9b98d6dccd05c.png](https://atcoder.jp/img/arc069/b34c052fc21c42d2def9b98d6dccd05c.png) ### 样例解释 2 如果不存在满足条件的方案,请输出 `-1`。 由 ChatGPT 5 翻译