| For All Solvers
OMC221

OMC221(F)

 PP の移動に以下のように名前をつける.

  • 操作 XX : 点 PPxx 方向に 11 だけ移動させる
  • 操作 YY : 点 PPyy 方向に 11 だけ移動させる
  • 操作 ZZ : 点 PPzz 方向に 11 だけ移動させる

 PP の移動方法に対して X,Y,ZX,Y,Z からなる文字列を対応させることを考える.たとえば,操作 XX \rightarrow 操作 YY \rightarrow 操作 ZZ \rightarrow \cdotsに対しては,XYZXYZ\cdots と対応させる.いま,X,YX,Y からなる文字列に対し,X,YX,Y をそれぞれ一個ずつ選んで,ZZ に置き換えることを操作 QQ と呼ぶことにする.以下の補題が成り立つ.


補題. nn 個の XXmm 個の YY を並び替えてできるすべての文字列について,操作 QQ を行いうるすべての場所に 11 度ずつ行ったとき,n1n-1 個の XXm1m-1 個の YY22 個の ZZ を並び替えてできる文字列すべてがそれぞれ 22 回ずつ登場する.

証明. n1n-1 個の XXm1m-1 個の YY22 個の ZZ を並び替えてできる文字列 TT に対し,TTX,YX,Y がある位置にはそれぞれ X,YX,Y が位置し,22 つの ZZ の位置には,最初から順に X,YX,Y または Y,XY,X が位置するような 22 つの文字列が対応するから,補題が従う.


 ここで求めるスコアの総和は操作方法に対応させた文字列すべてについて,それに含まれる 100100 個の ZZ で区切ってできる 101101 個の X,YX,Y からなる部分文字列に対し,操作 QQ を行う方法の総数である.上の事実より,このとき 400101400-101 個のXX と,400101400-101 個の YY100+101+101100+101+101 個の ZZ を並び替えてできる文字列すべてが 21012^{101} 回ずつ登場する (操作 QQ からの復元の際,3k3k 文字目の ZZX,YX, Y に変更されないことに注意).よって,M=900!299!299!302!×2101M=\dfrac{900!}{299!299!302!}\times2^{101} であり,これが 2,32,3 で割り切れる最大の回数はそれぞれ 112,6112,6 である.よって,gcd(M,6M)=211236\gcd(M,6^M)=2^{112}3^6 であり,解答すべき値は (112+1)(6+1)=791(112+1)(6+1)=\mathbf{791} となる.

解説YouTube

解説YouTubeが存在しません.