文章

16

粉丝

0

获赞

43

访问

2.0k

头像
矩阵外圈遍历 题解:
P7122 北京理工大学2025年机试题
发布于2026年3月25日 19:51
阅读数 91

模拟走一边 列变化次数为(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] << ' ';
	...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发