/
最近
.rdf
追記
編集
設定
本棚
翌日へ
前日へ
脳log
[20220513]
2022年05月13日 (金)
[AtCoder] 精進。
Code Formula 2014 予選B
-C「
仲良し文字列
」(水 diff)。AtCoder Problems の Recommendation なのであって特に選んだわけではないけど、おととい(
20220511
)解いた「
Make UTPC
」と似た雰囲気の問題であった。こちら(仲良し文字列)の方がやや易しく感じられるのは、注目している文字列の外から文字が供給されないところ。スワップ対象がすべて見えている。それによりスワップ関係(ペアでの位置交換)にない要素はローテート(三つ組以上での位置交換)の一部だと決め打っていける。3個以下のペアと2個以下のローテートで全体が把握できる。■
提出 #31625678
(AC / 560 Byte / 61 ms)。不一致の数と、並べ替えで一致するかどうかと、位置を交換しているペアの数と、余った手数を費やす無効な(同じ文字同士の)交換が利用可能かどうかを調べれば答えが出る。□あと、バグがありますよ。11 行目の
c+d
を文字列の連結のつもりで書いたけど 7 行目で
.chars
ではなく
.bytes
を呼んでるので文字コードの足し算になってしまってる。それだと a と d が位置を交換している場合と b と c が位置を交換している場合など、異なる文字コードの組み合わせだけど和が一致する場合を区別できない。
翌日へ
前日へ