题目描述
每次循环判断 超时
样例
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
int n,m,a[100][100]={0},x=0,y=0,cnt=1;
cin>>n>>m;
a[x][y]=cnt;
while(cnt<n*m){
while(a[x][y+1]==0 && y+1<=n-1){
y++;a[x][y]=++cnt;
}
while(a[x+1][y]==0 && x+1<=n-1){
x++;a[x][y]=++cnt;
}
while(a[x][y-1]==0 && y-1>=0){
y--;a[x][y]=++cnt;
}
while(a[x-1][y]==0 && x-1>=0){
x--;a[x][y]=++cnt;
}
}for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<a[i][j]<<' ';
}puts("");
}
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla