模拟
include
using namespace std;
int n;
int tu[100][100];
void Go(int& xx,int& yy)
{
if(xx==n) xx=1;
else ++xx;
if(yy==1) yy=n;
else –yy;
return;
}
void solve()
{
memset(tu,0,sizeof(tu));
int x=n,y=(n+1)/2;
tu[x][y]=1;
for(int i=2;i<=n*n;i++)
{
int x1=x,y1=y;
Go(x,y);
if(tu[x][y]!=0 || (x1==n && y1==1))
{
x=x1==1?n:x1-1;
y=y1;
}
tu[x][y]=i;
}
for(int i=1;i<=n;i++)
{
int ff=1;
for(int j=1;j<=n;j++)
{
if(ff) ff=0;
else cout<<’ ‘;
cout<<tu[i][j];
}
cout<>n) solve();
return 0;
}
题目不是给hint了吗
来人把她拖出去(老实人孤立她……