求助,为什么超时?
查看原帖
求助,为什么超时?
1160843
wuyu6688楼主2024/3/27 21:23
#include<bits/stdc++.h>
using namespace std;
int a[21][21];
int main(){
	int b,cnt=1;
	cin>>b;
	int x=1,y=1;
	while(cnt<=b*b){
		while(y+1<=b&&a[x][y+1]==0){
			a[x][++y]=++cnt;
		}
		while(x+1<=b&&a[x+1][y]==0){
			a[++x][y]=++cnt;
		}
		while(x-1>=1&&a[x-1][y]==0){
			a[--x][y]=++cnt;
		}
		
		while(y-1>=1&&a[x][y-1]==0){
			a[x][--y]=++cnt;
		}
		
	}
	for(int i=1;i<=b;i++){
		for(int j=1;j<=b;j++){
			cout<<setw(3)<<a[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}
2024/3/27 21:23
加载中...