萌新十分求助QAQ
查看原帖
萌新十分求助QAQ
725297
AutRains楼主2023/7/21 18:48
#include <bits/stdc++.h>
using namespace std;
int a[1001][1001];
int main()
{
    int n,k,t=0;  
    cin>>n;
    t=n/2+1;
    a[1][t]=1;
	int i=1;
	int j=t;
    for(k=2;k<=n*n;k++)
    {
        if(i==1&&j!=n)
        {
            a[k][j+1]=k;
            i=2;
			j=n;
        }
        if(j==n&&i!=1)  
        {
            a[i-1][j]=k;
            i=i-1;
			j=1;
        }
        if (i==1&&j==n)
        {
		a[i+1][j]=k;  
		i=i+1;
        }
        if(i!=1&&j!=n)  
        {
    		if(a[i-1][j+1]==0)  
            {  
				a[i-1][j+1]=k;  
        		i=i-1;
				j=j+1;
			}
			else
			{
        	a[i+1][j]=k;
			i=i+1;
			}
        }
    }
    for (int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)  
        cout<<a[i][j]<<" ";
		cout<<endl; 
    }
	 
    return 0;  
}   
2023/7/21 18:48
加载中...