ツバサの備忘録

主に備忘録代わりに精進記録を載せていくつもりです。

AOJ 1168 - ぐらぐら

問題
提出コード

解法

愚直に、それぞれのピースに対して条件を満たしているか確認していきます。
ピースそれぞれを頂点、上下で接しているかどうかを辺としたグラフを作成していき、あるピースに対してのバランスを調べる際は、そのグラフを辿って見ていきました。
前計算で、それぞれのブロックの個数、ブロックの重み(1)×横軸の座標の合計値、 X_{L} , X_{R}を計算しておきます。そして、あるピースについてのバランスを調べるときは、上記の値を用いて実際の重心を計算し、 X_{L} , X_{R}を超えるかどうかを調べることになります。