WA 0pts
查看原帖
WA 0pts
1022472
C_Boa楼主2024/10/13 20:48
#include<bits/stdc++.h>
using namespace std;
int n,j,k;
int a[45][45];
int main(){
	cin>>n;
	a[1][(n+1)/2]=1;
	j=1;
	k=(n+1)/2;
	for(int i=2;i<=n*n;i++){
		if(j==1&&k!=n){
			a[n][k+1]=i;
			k++;
			j=n;
			continue;
		}
		if(j!=1&&k==n){
			a[j-1][1]=i;
			j--;
			k=1;
			continue;
		}
		if(j==1&&k==n){
			a[j+1][k]=i;
			j++;
			continue;
		}
		if(j!=1&&k!=n){
			if(a[j-1][k+1]==0){
				a[j-1][k+1]=i;
				j--;
				k++;
			}
			else{
				a[j+1][k]=i;
				j++;
			}
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cout<<a[i]<<" ";
		}
		cout<<endl;
	}	
}
2024/10/13 20:48
加载中...