提交时间:2026-02-06 11:50:50

运行 ID: 15492

#include<bits/stdc++.h> using namespace std; int x,y,a[10][10],n,m,i,j; void dfs(int n,int m){ x=1; y=1; a[x][y]=1; for(i=2;i<=n*m;i++){ if(a[x][y+1]==0&&y+1>=1&&y+1<=m){ y++; a[x][y]=i; }else if(a[x+1][y]==0&&x+1>=1&&x+1<=n){ x++; a[x][y]=i; }else if(a[x][y-1]==0&&y-1&&y-1<=m){ y--; a[x][y]=i; }else{ x--; a[x][y]=i; } } } int main(){ cin>>n>>m; dfs(n,m); for(i=1;i<=n;i++){ for(j=1;j<=m;j++){ if(a[i][j]<10){ cout<<" "<<a[i][j]; }else{ cout<<' '<<a[i][j]; } } cout<<endl; } }