#include <stdio.h>
#include <math.h>
#define LEN 12
//change设置为运动方向
void print(int v[][LEN+2])
{
int i,j;
for(i=1;i<LEN+1;i++)
{
for(j=1;j<LEN+1;j++)
printf("%4d",v[i][j]);
putchar('\n');
}
}
void fillmap(int v[][LEN+2])
{
int m=1;
int i=1,j=1;
int change=1;
while(m<=LEN*LEN)
{
if(v[i][j]==0)
{
v[i][j]=m;
m++;
switch(change)
{
case 1: j++;break;
case 2: i++;break;
case 3: j--;break;
case 4: i--;break;
}
}
else
{
switch(change)
{
case 1: change=2;i++;j--;break;
case 2: change=3;i--;j--;break;
case 3: change=4;i--;j++;break;
case 4: change=1;i++;j++;break;
}
}
}
}
int main()
{
int v[LEN+2][LEN+2]={0};
int i;
// print(v);
// putchar('\n');
for(i=0;i<LEN+2;i++)
{
v[0][i]=1;
v[LEN+1][i]=1;
}
for(i=0;i<LEN+2;i++)
{
v[i][0]=1;
v[i][LEN+1]=1;
}
fillmap(v);
print(v);
}