操作を繰り返すことで,文字列を自由に並べ替えることはできるか考えてみましょう.
問題原案:uni_kakurenbo
まず, のとき明らかに Yes
です.
また, と とに含まれている文字とそれらの個数が一致していない場合,No
です.
以下では かつ と とが含む文字と個数は一致しているものとします.
Yes
です.
これは次のように証明できます:
文字列 1234
を操作によって 2134
, 1324
, 1243
の 通りに並べ替えることができるならば, で任意の隣接する 文字を交換することが可能なので,このとき を任意に並び変えて とすることができます. (バブルソートなどを考えると明らかです.)
1234
4231
4132
2134
1234
1243
1234
2143
3142
1324
以上より従います.
場合分けを行うことで AC を得ることができます:
No
Yes
No
解説:uni_kakurenbo