??????????????????????????
????1   2   3
????8   9   4
????7   6   5
?????????????n*n???????????????ε????????????????????????????????????????n=5?????????????????

?????????????????????????????????????????????治???????????c++???????±??????????????????????????У??????????????????????????????????й??????????????????????????????????????????????????????????????????????????????????????鷳??????????????????????????????????????
????1   2   3
????8   9   4
????7   6   5
??????????濪????????????????????????ó??????????????????????????????????????????????????£???????и??????ɡ?
????1   2   3   4
????12 13 14  5
????11 16 15  6
????10  9   8  7
??????????????
?????????????????????????????????????????????????????????
????1   2   3   4
????12           5
????11           6                   13  14
????10  9   8  7         +        16  15
??????????????????ο???????????????????????γ??????????????????????
??????????????
??????????????????????????????????????????????????????????1??12?????????????????????±?????????????б?????????????????????????·?????????
????1   2   3                   4
????+            5          +                    +       12
????6                                          11
????9   8   7             10
???????????????й???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????3??д??????????????????????????????壬?????????????????????????????裬?????????????С?????????????????????????????????????????????????????
???????????????
??????????????????????????????????????????????????????????μ??????????????????????????????????n?????μ???????????????????????????????????????????????????????????????????????????????????????????????????
????1   2   3
????8   9   4
????7   6   5
??????
????1   2   3   4
????12 13 14  5
????11 16 15  6
????10  9   8   7
????????????????1???????2*2??С??????????????????????????????????????????1????????????????????????????????????????????????????б???ó?????????????????????????????????????????????????????????????
#include <iostream>
using namespace std;
void sparalMat(int *array[]??int n)
{
int time = 0;
int start = 1; //?????????????????????????????????????????
while (time < n)
{
if (n-1-time==0)
{
array[time / 2][time / 2] = start;
}
for (int i = 0; i < n-1-time; ++i)
{
array[(time / 2)][time/2+i] = start + i;
array[time / 2 + i][n - 1 - time / 2] = start + (n - time - 1) + i;
array[n-1 - time / 2][n-1 - time / 2 - i] = start + 2 * (n - 1 - time) + i;
array[n - 1 - time / 2 - i][time / 2] = start + 3 * (n - 1 - time) + i;
}
start += 4 * (n - 1 - time);
time += 2;
}
}
//?????????
int _tmain(int argc?? _TCHAR* argv[])
{
int ha = 0;
cin >> ha;
int **a = new int*[ha];
for (int i = 0; i < ha; i++)   //??????????????????????????
{
a[i] = new int[ha];
}
sparalMat(a?? ha);
for (int i = 0; i < ha; i++)
{
for (int j = 0; j < ha; j++)
{
cout << a[i][j] << " ";
}
cout << endl;
}
for (int i = 0; i < ha; i++)    //?????????????б??????????????????????
{
delete [] a[i];
}
delete[] a;
return 0;
}