题目描述
输入两个整数 nn 和 mm,输出一个 nn 行 mm 列的矩阵,将数字 11 到 nn×mm 按照回字蛇形填充至矩阵中。
具体矩阵形式可参考样例。
输入格式
输入共一行,包含两个整数 nn 和 mm。
输出格式
输出满足要求的矩阵。 矩阵占 nn 行,每行包含 mm个空格隔开的整数。
样例
输入数据 1
3 3
Copy
输出数据 1
1 2 3
8 9 4
7 6 5
Copy
数据范围
1≤n,m≤100.1≤n,m≤100.
统计
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,a[102][102]={0},b=1,c=1,d=1,i,j;
cin>>n>>m;
a[b][c]=d;
while(d<n*m){
while(a[b][c+1]==0 && c+1<=m){
c++;d++;
a[b][c]=d;
}
while(a[b+1][c]==0 && b+1<=n){
b++;d++;
a[b][c]=d;
}
while(a[b][c-1]==0 && c-1>=1){
c--;d++;
a[b][c]=d;
}
while(a[b-1][c]==0 && b-1>=1){
b--;d++;
a[b][c]=d;
}
}
for( i=1;i<=n;i++){
if(i>1)
cout<<'\n';
for( j=1;j<=m;j++){
cout<<a[i][j]<<' ';
}
}
return 0;
}