No.33

で割った余りが異なるアメーバ同士は互いに干渉しない.

したがって, で割った余りでグループ分けして, グループごとに計算する.

グループ分けされた で割って座標圧縮しておく.

そうすると の位置にいたアメーバは 秒後に の範囲に広がる.

ごとにこれを計算し, 重なっている範囲を除けばいい.

このとき, を昇順にソートしておくと, 重なりのチェックは のアメーバだけを対象にすればいい.