题目:https://www.luogu.org/problemnew/show/P2615
直接按题意模拟即可;
用 Emacs 做的第一道题!
代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int const maxn=;
int n,a[maxn][maxn];
int main()
{
scanf("%d",&n);
int prx=,pry=n/+;
a[prx][pry]=;
for(int i=;i<=n*n;i++)
{
if(prx==&&pry!=n)prx=n,pry++,a[prx][pry]=i;
else if(prx!=&&pry==n)prx--,pry=,a[prx][pry]=i;
else if(prx==&&pry==n)prx++,a[prx][pry]=i;
else if(prx!=&&pry!=n)
{
if(a[prx-][pry+]==)prx--,pry++,a[prx][pry]=i;
else prx++,a[prx][pry]=i;
}
}
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
{
printf("%d ",a[i][j]);
if(j==n)printf("\n");
}
return ;
}