#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef vector vi; typedef pair ii; int main() { //freopen("C:\\Users\\Despondency\\Desktop\\in.txt","r",stdin); ios_base::sync_with_stdio(0); //care for getchar() cin.tie(0); int n; cin >> n; vector bla; for (int i = 0; i < n * n; i++) { int p; cin >> p; bla.push_back(p); } sort(bla.begin(), bla.end()); int **a = new int*[n]; for (int i = 0; i < n; i++) { a[i] = new int[n]; } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { a[i][j] = 0; } } int i = 0; int j = 0; int inc = 1; while (i != n) { a[i][j] = bla[bla.size() - inc]; i++; j++; inc++; } int idx = n*n; int from = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (a[i][j] == 0) { a[i][j] = bla[from]; from++; } } if (from == idx) { goto end; } } end:; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cout << a[i][j] << " "; } cout << endl; } }