。。。错的有点偏,样例过不了
查看原帖
。。。错的有点偏,样例过不了
1252442
lucy2012楼主2024/2/26 18:13
#include<bits/stdc++.h>
using namespace std;
int n,p=1,k=1,a[15][15];
int main()
{   
    a[1][1]=1;
    cin>>n;
    for(int i=2;i<=n*n;i++){
		if(k+1<=n&&a[p][k+1]==0){
			a[p][++k]=i;
			continue;
		}
		if(p+1<=n&&a[p+1][k]==0){
			a[++p][k]=i;
			continue;
		} 
		if(k-1>=1&&a[p][k-1]==0){
			a[p][--k]=i;
			continue;
		}
		if(p-1>=1&&a[p-1][k]==0){
			a[--p][k]=i;
			continue;
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++)
		    printf("%3d",a[i][j]);
		cout<<endl;
	}
    return 0;
}
2024/2/26 18:13
加载中...