No.171 スワップ文字列(Med)
問題文最終更新日: 2015-11-14 17:48:25
問題文
入力に$1000$文字以内の文字列$S$が与えられる。
この文字列$S$を構成する文字のうち、「任意の隣り合う$2$つの文字を入れ替える」操作を任意回行うことができるとき、
作ることができる文字列の種類の数を$\mod 573$ で求めてください。
ただし、入力文字列$S$と同一の文字列は数に含まないものとします。
$573$は素数ではないことに注意してください。
入力
S
$1$行目に文字列$S$が与えられる。 $( 1 \leq |S| \leq 1000 ) $
文字列$S$はすべてアルファベット大文字('A'~'Z')で構成される。
出力
問題文の操作で作ることが出来る(入力文字列$S$自体を除く)文字列の種類の数を、$573$で割った余りを、
整数で出力してください。
サンプル
サンプル1
入力
ABC
出力
5
文字列"ABC"の隣り合う$2$つの文字を何度か入れ替えてできる文字列は、以下の$6$通りです。
ABC ACB
BAC BCA
CAB CBA
ただし、入力文字列自体は含まないので、"ABC"を除いた$5$種類を作ることができます。
サンプル2
入力
DDDDDD
出力
0
何度入れ替えても、"DDDDDD"以外に作ることはできません。
入力文字列自体は含まないので、"DDDDDD"を除いた$0$種類が答えです。
サンプル3
入力
ABCDEFGHIJKLMNOPQRSTUVWXYZ
出力
551
$403291461126605635583999999$種類の文字列を作ることができます。
$\mod 573$を忘れずに
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。