C - コマンド入力 Editorial

Time Limit: 2 sec / Memory Limit: 64 MB

問題文

高橋君は友達と格闘ゲームで対戦をすることにしました。
格闘ゲームは AA, BB, XX, YY44 種類のボタンを連続で入力するコマンドにより技を繰り出し戦うゲームです。
しかし、普段格闘ゲームで遊ばない高橋君にとってコマンドの入力は難しく、友達に勝てそうにありません。
そこで余っている LLRR のボタンに連続した 22 つのボタン入力をショートカットとして割り当てることで、コマンドの入力を短縮したいと思います。
例えば、コマンドが ABXYABXY だと 44 回ボタンを入力する必要がありますが、LLABABRRXYXY を割り当てることで LRLR22 回のボタン入力に短縮できます。
LLRR を用いて入力をなるべく短くした時に必要なボタンの入力回数を求めなさい。

入力

入力は以下の形式で標準入力から与えられる。
NN
c1c2...cNc_{1}c_{2}...c_{N}
  • 11 行目にコマンドに必要なボタンの入力回数を表す NN(1N10001 ≦ N ≦ 1000)が与えられる。
  • 22 行目にコマンドの内容を表す NN 文字の文字列が与えられる。
  • ii 文字目の文字である cic_{i} は、A, B, X, Y のいずれかで与えられる。

出力

ショートカットを用いてコマンド入力に必要なボタンの入力回数を最小化したときの、ボタン入力回数を標準出力に 11 行で出力せよ。
なお、最後には改行を出力せよ。

入力例 1

Copy
  1. 4
  2. ABXY
4
ABXY

出力例 1

Copy
  1. 2
2
  • LLABABRRXYXY を割り当てることで入力を LRLR に短縮することができ、ボタンの入力回数は 22 回となります。

入力例 2

Copy
  1. 13
  2. ABABABABXBXBX
13
ABABABABXBXBX

出力例 2

Copy
  1. 7
7
  • LLABABRRBXBX を割り当てることで入力を LLLARRRLLLARRR に短縮することができ、ボタンの入力回数は 77 回となります。

入力例 3

Copy
  1. 8
  2. AABBAABB
8
AABBAABB

出力例 3

Copy
  1. 4
4
  • LLAAAARRBBBB を割り当てることで入力を LRLRLRLR に短縮することができ、ボタンの入力回数は 44 回となります。

Source Name

ARC 002


2025-05-04 (Sun)
08:20:58 +00:00