公式

D - Loong and Takahashi 解説 by kyopro_friends


外周から順に渦巻き状に値を埋めていくことで、\(N\) の値によらず構築できます。この方針に従ったとき、各マスに入る数を求めることを考えます。

\((N=7)\)

 1  2  3  4  5  6  7
24 25 26 27 28 29  8
23 40 41 42 43 30  9
22 39 48  T 44 31 10
21 38 47 46 45 32 11
20 37 36 35 34 33 12
19 18 17 16 15 14 13

実装方法としては、例えば次のようなものが考えられます。

  1. 空のグリッドを用意する
  2. 左上のマスに \(1\) を入れ、現在地を左上のマス、進行方向を右向きとする
  3. 全てのマスが埋まるまで以下を繰り返す
    • 進行方向正面のマスが空なら、そのマスに移動し、次の数を入れる
    • そうでないなら、進行方向を時計回りに90度変える

writer解(C)

おまけ:
\(N=45\) のとき、数を入れるマスは \(45^2-1=2024\) 個あります。Happy New Year!

投稿日時:
最終更新: