#include <stdio.h>#include<conio.h>
int main()
{
int n, w, hang, cot, chanhangtang, chanhanggiam, chancottang, chancotgiam;
int matran[12][12], tang, giam;
scanf("%d%*c",&n);
hang = cot = 0;
chanhangtang = chancottang = n-1;
chanhanggiam = chancotgiam = 0;
tang = 0;
for (w=0; w<n*n; w++)
{
matran[hang][cot]= w + 1;
switch(tang)
{
case 0 :
if (cot < chancottang)
cot++;
else
{
tang++;
chanhanggiam++;
hang++;
}
break;
case 1 :
if (hang < chanhangtang)
hang++;
else
{
tang++;
chancottang--;
cot--;
}
break;
case 2 :
if (cot > chancotgiam)
cot--;
else
{
tang++;
chanhangtang--;
hang--;
}
break;
case 3 :
if (hang > chanhanggiam)
hang--;
else
{
tang=0;
chancotgiam++;
cot++;
}
break;
}
}
for (hang=0; hang < n; hang++)
{
printf("\n");
for (cot=0; cot < n; cot++)
printf("%4d", matran[hang][cot]);
}
getch();
}