【输入输出样例】
样例 1
输入样例
5
输出样例
15 7 6 2 1
16 14 8 5 3
22 17 13 9 4
23 21 18 12 10
25 24 20 19 11
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a[21][21]={0},x,y;
cin>>n;
a[1][n]=1;
x=1;y=n;
for(int i=2;i<=n*n;i+=0){
if(x==1){
if(y>1){
y-=1;
a[x][y]=i;
i+=1;}
if(y==1&&x>1){
x++;
a[x][y]=i;
i++;}
while(y<n){
a[x+1][y+1]=i;
x+=1;
y+=1;
i+=1;}
}
if(y==n){
if(x<n){
x+=1;
a[x][y]=i;
i++;}
if(x==n&&y!=n){
y-=1;
a[x][y]=i;
i++;}
while(x!=1){
a[x-1][y-1]=i;
x-=1;
y-=1;
i++;
}}
}
for(int i=1;i<=n;i++){
if(a[i][1]>9)
cout<<a[i][1];
else
cout<<" "<<a[i][1];
for(int j=2;j<=n;j++)
if(a[i][j]>9)
cout<<" "<<a[i][j];
else
cout<<" "<<a[i][j];
cout<<endl;
}
return 0;
}