C++ 代码
#include<bits/stdc++.h>
using namespace std;
const int N = 110;
int s[N][N];
int n,m;
int main(){
cin>>n>>m;
int d=0,x=0,y=0;
int dx[]={0,1,0,-1},dy[]={1,0,-1,0};
for(int i=1;i<=n*m;i++){
s[x][y]=i;
int a=x+dx[d],b=y+dy[d];
if(a<0||a>=n||b<0||b>=m||s[a][b]){
d = d==3?0:d+1;
a = x+dx[d],b=y+dy[d];
}
x=a,y=b;
}
for(int i=0;i<n;i++){
for (int j = 0; j < m; j ++ ){
cout<<s[i][j]<<" ";
}
cout<<endl;
}
}