我寻思代码逻辑也没问题啊。。
查看原帖
我寻思代码逻辑也没问题啊。。
1161227
Aurora3545楼主2024/7/12 12:47

给干成停止工作了。。。逻辑哪里有误吗?

#include<bits/stdc++.h>
using namespace std;
int n,a[40][40],x[2005][2]; 
int main(){
	cin>>n;
	a[1][n/2+1]=1;
	x[1][1]=1;
	x[1][2]=n/2+1;
	for(int i=2;i<=n*n;i++){
		if(x[i-1][1]==1){
			if(x[i-1][2]!=n){
				a[n][x[i-1][2]]=i;
			}
			else{
				a[x[i-1][1]+1][x[i-1][2]]=i;
			}
		}
		else{
			if(x[i-1][2]==n){
				a[x[i-1][1]-1][n];
			}
			else{
				if(a[x[i-1][1]+1][x[i-1][1]+1]==0){
					a[x[i-1][1]+1][x[i-1][1]+1]=i;
				}
				else{
					a[x[i-1][1]-1][x[i-1][2]]=i;
				}
			}
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;i<=n;j++){
			cout<<a[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}

2024/7/12 12:47
加载中...