B - 459 Editorial by Tamiji

問題文を利用する方法

問題文に書かれている対応表をそのままコピーすると、以下のような文字列が得られます。

S 
i
​
  の先頭の文字が a, b, c のいずれかならば 
C 
i
​
 =2
S 
i
​
  の先頭の文字が d, e, f のいずれかならば 
C 
i
​
 =3
S 
i
​
  の先頭の文字が g, h, i のいずれかならば 
C 
i
​
 =4
S 
i
​
  の先頭の文字が j, k, l のいずれかならば 
C 
i
​
 =5
S 
i
​
  の先頭の文字が m, n, o のいずれかならば 
C 
i
​
 =6
S 
i
​
  の先頭の文字が p, q, r, s のいずれかならば 
C 
i
​
 =7
S 
i
​
  の先頭の文字が t, u, v のいずれかならば 
C 
i
​
 =8
S 
i
​
  の先頭の文字が w, x, y, z のいずれかならば 
C 
i
​
 =9

この文字列を \(T\) として、以下のようなアルゴリズムで対応づけることができます。

  • \(S_i\) の先頭の文字を \(s\) とする。
  • \(s=\) i の場合、 \(C_i=4\) とする。
  • そうでない場合、 \(s\)\(T\) の中で「の先頭の文字が〜のいずれかならば」の場所のみに現れるので、その index を求め、それより後に初めて現れる数字を \(C_i\) とする。

提出コード

posted:
last update: