#include #include #include #include #include #include #include #include #include #include using namespace std; #ifdef _WIN32 #include #endif int main() { int n, i = 0, j = 0; cin >> n; int rt = n, lt = -1, up = 0, lo = n, cnt = 1; vector> v(n, vector(n, 0)); while (i != n/2 && j != n/2 && v[i][j] == 0){ while (rt != j && v[i][j] == 0){ v[i][j] = cnt; cnt++; j++; } rt--; j--; i++; while (lo != i && v[i][j] == 0){ v[i][j] = cnt; cnt++; i++; } lo--; i--; j--; while (lt != j && v[i][j] == 0){ v[i][j] = cnt; cnt++; j--; } lt++; j++; i--; while (up != i && v[i][j] == 0){ v[i][j] = cnt; cnt++; i--; } lo++; i++; j++; } if (v[i][j] == 0) v[i][j] = cnt; cnt = 1; for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++){ printf("%03d", v[i][j]); if (!((j+1)%n)) cout << endl; else cout << " "; } } }