https://atcoder.jp/contests/abc110/tasks/abc110_c
ABC110 C - String transformationを解説と異なる方針で解いたのでメモ。
文字列Sを、文字列S内に含まれる’a’のインデックスの集合, ‘b’のインデックスの集合,…と表して、それぞれの集合を順にS(a), S(b),…とする。文字列Tについても同様にT(a), T(b),…を定義する。こうして文字列Sを表すと、2つの異なる英小文字c1とc2を選んでおこなう「操作」は、S(c1)とS(c2)をスワップすることと同じになる。したがって、文字列Sに「操作」を繰り返して、文字列Tを得られるかどうかは、
が成り立つかどうかと同値になる。
実装