求助,模拟错误
查看原帖
求助,模拟错误
528562
_Niaoniao_楼主2022/5/15 21:00
#include<bits/stdc++.h>
using namespace std;
int n,a[40][40],x,y,l,r;
int main() {
	cin>>n;
	a[1][(1+n)/2]=1;
	x=1;
	y=(1+n)/2;
	int i=1;
	while(i<=n*n) {
		i++;
		if(x==1&&y!=n) {
			l=n;
			r=y+1;
		}
		if(y==n&&x!=1) {
			l=1;
			r=y-1;
		}
		if(x==1&&y==n) {
			l=x+1;
		}
		if(x!=1&&y!=n) {
			if(a[x-1][y+1]==0) {
				l=x-1;
				r=y+1;
			} else {
				l=x+1;
			}
		}
		x=l;
		y=r;
		a[x][y]=i;
	}
	for(int h=1; h<=n; h++) {
		for(int j=1; j<=n; j++) {
			cout<<a[h][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}

2022/5/15 21:00
加载中...