//距離の和を最大化してしまった。(WA) #include #define rep(i, n) for(i = 0; i < n; i++) using namespace std; int n; int ans[300][300]; signed main() { int i, j, k; cin >> n; int n2 = n / 2; rep(i, 4) { rep(j, n2) { rep(k, n2) { int sy = i / 2 * n2; int sx = i % 2 * n2; ans[sy + j][sx + k] = 4 * (j * n2 + k) + 1 + i; } } } rep(i, n) { rep(j, n) { cout << ans[i][j]; if (j + 1 < n) cout << " "; } cout << endl; } return 0; }