/* -*- coding: utf-8 -*- * * 3727.cc: No.3727 Garden Master - yukicoder */ #include #include #include using namespace std; /* constant */ const int MAX_N = 500; /* typedef */ /* global variables */ int rs[MAX_N][MAX_N], bs[MAX_N][MAX_N]; /* subroutines */ bool check(int n) { for (int i = 0; i + 1 < n; i++) for (int j = 0; j + 1 < n; j++) if (rs[i][j] + rs[i][j + 1] + rs[i + 1][j] + rs[i + 1][j + 1] != bs[i][j] + bs[i][j + 1] + bs[i + 1][j] + bs[i + 1][j + 1]) return false; return true; } /* main */ int main() { int n; scanf("%d", &n); for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) { rs[i][j] = i + 1, bs[i][j] = n - j; if ((i + j) & 1) swap(rs[i][j], bs[i][j]); } for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) printf("%d%c", rs[i][j], (j + 1 < n) ? ' ' : '\n'); for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) printf("%d%c", bs[i][j], (j + 1 < n) ? ' ' : '\n'); //assert(check(n)); return 0; }