#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int N,s,i,j,squa;
cout<<"请输入层数N: ";
cin>>N;
int **a=new int*[N];
if(NULL==a)
return 0;
for(i=0;i<N;i++)
a[i]=new int[N];
squa=N*N;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
{
s=i+j;
if(s<N)
a[i][j]=s*(s+1)/2+(((i+j)%2==0)?i:j);
else
{
s=(N-1-i)+(N-1-j);
a[i][j]=squa-s*(s+1)/2-(N-(((i+j)%2==0)?i:j));
}
}
cout<<endl;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
cout<<setw(6)<<a[i][j];
cout<<"\n\n";
}
delete [] a;
return 0;
}