問題下のコード解説
1.ピースにユニークなラベルをつける。
2-1.ピースAの上にピースBがあるとき onPiece[A][B] がtrueになるような配列を作る
2-2.ついでに下のピース(地面)と接している左端と右端のピースを求めておく
3.onPiece をウォーシャルフロイドで推移閉方に拡張
4.すべてのピースに対して、そのピースに乗っているブロックの重心求めて安定かどうか調べる
ピースごとのモーメントとブロック数をラベル付けするときに求めておけば、4のなかのモーメント計算を省略できる。
もっと単純にならんかなー。
スポンサーサイト