文章
16
粉丝
0
获赞
43
访问
2.0k
模拟走一边 列变化次数为(n-1) 行变化次数为(m-1),总共走四次
#include <bits/stdc++.h>
using namespace std;
const int maxn = 105;
int matrix[maxn][maxn];
int dir[4][2] = {
{0,1}, // 右
{1,0}, // 下
{0,-1}, // 左
{-1,0} // 上
};
int main()
{
memset(matrix,0,sizeof(matrix));
int m,n;
cin >> m >> n;
for(int i = 0;i < m;++i)
{
for(int j = 0;j < n;++j)
{
cin >> matrix[i][j];
}
}
if(m == 1){//只有一行
for(int i = 0;i < n;++i)
{
cout << matrix[0][i] << ' ';
}
cout << endl;
}
else if(n == 1){//只有一列
for(int i = 0;i < m;++i)
{
cout << matrix[i][0] << ' ';
}
cout << endl;
}
else{ // 正常
int n_times = n-1,m_times = m-1;
int nx = 0,ny = 0;
for(int i = 0;i < 4;++i)
{
for(;n_times != 0 && m_times != 0;)
{
if(i%2 == 0){
n_times--;
}
else
{
m_times--;
}
cout << matrix[nx][ny] << ' ';
...
登录后发布评论
暂无评论,来抢沙发