魔方陣についての解説を読み、以下の問題を解け。
並べられた整数はlong
で表現できる範囲に収まり、縦・横・斜めの和もlong
で表現できる範囲に収まると仮定してよい。
4×4の正方形状に並べられた整数を入力し、完全魔方陣ならば3
を、魔方陣だが完全魔方陣でなければ2
を、半魔方陣だが魔方陣でなければ1
を、半魔方陣でなければ0
を出力するプログラムを書け。
5×5の正方形状に並べられた整数を入力し、完全魔方陣ならば3
を、魔方陣だが完全魔方陣でなければ2
を、半魔方陣だが魔方陣でなければ1
を、半魔方陣でなければ0
を出力するプログラムを書け。
6×6の正方形状に並べられた整数を入力し、完全魔方陣ならば3
を、魔方陣だが完全魔方陣でなければ2
を、半魔方陣だが魔方陣でなければ1
を、半魔方陣でなければ0
を出力するプログラムを書け。
7×7の正方形状に並べられた整数を入力し、完全魔方陣ならば3
を、魔方陣だが完全魔方陣でなければ2
を、半魔方陣だが魔方陣でなければ1
を、半魔方陣でなければ0
を出力するプログラムを書け。
8×8の正方形状に並べられた整数を入力し、完全魔方陣ならば3
を、魔方陣だが完全魔方陣でなければ2
を、半魔方陣だが魔方陣でなければ1
を、半魔方陣でなければ0
を出力するプログラムを書け。
9×9の正方形状に並べられた整数を入力し、完全魔方陣ならば3
を、魔方陣だが完全魔方陣でなければ2
を、半魔方陣だが魔方陣でなければ1
を、半魔方陣でなければ0
を出力するプログラムを書け。
64個の小立方体が4×4×4の形で積み上げられて大立方体を構成している。各小立方体には−106より大きく106より小さい整数が一つずつ書かれている。
4×4×4の大立方体から1×4×4の形で切り出した16個の小立方体からなる直方体を幅方向の層と呼ぶ。同様に、4×1×4の場合を奥行き方向の層、4×4×1の場合を高さ方向の層と呼び、これらを総称して層と呼ぶ。層に属する小立方体に書かれた整数の和を層の和と略す。
2×2×2の形で切り出した8個の小立方体からなる立方体を中立方体と呼ぶ。中立方体は27個ある。中立方体に属する小立方体に書かれた整数の和を中立方体の和と略す。
小立方体64個に書かれた整数を入力し、以下を出力するプログラムを、それぞれ、書け。 入出力の形式は各自で定め、取扱説明書を添付すること。
外から3面見える小立方体に書かれている整数の和、 外から2面見える小立方体に書かれている整数の和、 外から1面だけ見える小立方体に書かれている整数の和、 外からまったく見えない小立方体に書かれている整数の和
幅方向の層の和の最大値と最小値の差、 奥行き方向の層の和の最大値と最小値の差、 高さ方向の層の和の最大値と最小値の差
中立方体の和の最大値と最小値