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

ARC203B - Swap If Equal Sum

最終更新:

sport_programming

- view
管理者のみ編集可


問題


必要知識

簡単な内容は省略
  • 特になし

考え方

1の個数が同じである区間同士を入れ替えられる。
ということは、
  • {1,0}と{1}を入れ替えられる
  • {0,1}と{1}を入れ替えられる
  • {0,0}と{0}を入れ替えられる
ということである。

つまり、
  • 1が2つ以上ある場合は、0を好きなように動かせる
  • 1が1つの場合は、両端の変更以外は0を好きなように動かせる
  • 1が1つもない場合は、そもそも並びに自由がない
ということなので、不可能なのは
  • aとbで1の個数が違うとき
  • aもbも1が1個だけで、両端が一致していないとき
だけ。

解答例


注意点


別解

ウィキ募集バナー