2020年5月28日木曜日

JOI2009 春合宿 - Pyramid

ピラミッドを高さの降順にソートしてBFSのイメージで埋めていく。具体的にはH=3000H=3000から降りながら次を繰り返せばよい:

  1. 頂上の高さがHHのすべてのピラミッドについてHHを答えに足し、その座標(x,y)(x, y)を(スタックなりキューなりに)積んでおく。
  2. 前のループで高さH+1H+1として積んでおいた頂点の八方を調べて、それぞれ訪問済みでなければHHを答えに足して座標を積んでおく。

メモリ制約が厳しいのでいろいろ使いまわす必要がある。