アットウィキロゴ
競技プログラミング用 知識集積所
掲示板 掲示板 ページ検索 ページ検索 メニュー メニュー

競技プログラミング用 知識集積所

ABC447C - Insert and Erase A

最終更新:

sport_programming

- view
管理者のみ編集可


問題


必要知識

B以下レベルの内容は省略
  • 特になし

考え方

前からか後ろからか、SとTを順番に1文字ずつ比較していく。
  • SとTの該当位置に同じ文字がある場合、それらが対応すると考える
    • つまり、単純に両方の位置を進める
  • SとTで該当位置に異なる文字があり、S側が'A'だった場合、そのAをSから削除することにする
    • つまり、Sの位置を1進めて、結果に+1
  • SとTで該当位置に異なる文字があり、T側が'A'だった場合、そのAをSに追加して対応させることにする
    • つまり、Tの位置を1進めて、結果に+1
  • SとTで該当位置に異なる文字があり、どちらも'A'じゃなかった場合、不可能と判定
    • つまり、結果は-1である
とする。
これらを、文字列末尾の処理に気を付けながら実装すればよい。

解答例


注意点


別解

最近更新されたスレッド
ウィキ募集バナー