news 2026/7/28 0:32:20

回型矩阵(板子题)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
回型矩阵(板子题)

题目

输入一个 𝑛 行 𝑚 列的矩阵,从左上角开始将其按回字形的顺序顺时针打印出来。

参数

变量 / 数组作用
arr[50][50]存储输入的矩阵(最多支持 50×50 的矩阵)
st[50][50]标记矩阵中的位置是否已经被打印过(true= 已打印,false= 未打印)
dx[4] / dy[4]方向数组:控制移动的 “上下左右”
d当前移动方向(0 = 上,1 = 右,2 = 下,3 = 左)
x / y当前所在的矩阵坐标(x = 行号,y = 列号)

方向数组

// dx控制行的变化,dy控制列的变化intdx[4]={-1,0,1,0};// 上(行-1)、右(行不变)、下(行+1)、左(行不变)intdy[4]={0,1,0,-1};// 上(列不变)、右(列+1)、下(列不变)、左(列-1)

代码

#include<iostream>#include<algorithm>usingnamespacestd;intmain(){intn,m;intarr[50][50];// 存储矩阵// 1. 输入矩阵的行数n、列数m,再输入矩阵元素cin>>n>>m;for(inti=0;i<n;i++)for(intj=0;j<m;j++)cin>>arr[i][j];// 2. 初始化标记数组(所有位置默认未打印)boolst[50][50]={false};// 3. 方向数组:上、右、下、左intdx[4]={-1,0,1,0},dy[4]={0,1,0,-1};// 4. 初始状态:方向d=1(右),起始位置(0,0)(矩阵左上角)intd=1,x=0,y=0;// 5. 核心循环:要打印n*m个元素(矩阵总元素数)for(inti=0;i<n*m;i++){// 5.1 计算下一个要移动的位置(a,b)inta=x+dx[d],b=y+dy[d];// 5.2 判断下一个位置是否“越界”或“已打印”:是则换方向if(a<0||a>=n||b<0||b>=m||st[a][b]){d=(d+1)%4;// 换方向(右→下→左→上→右...循环)a=x+dx[d],b=y+dy[d];// 换方向后重新计算下一个位置}// 5.3 打印当前位置的元素,标记为已打印cout<<arr[x][y]<<' ';st[x][y]=true;// 5.4 移动到下一个位置x=a,y=b;}cout<<endl;return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 15:09:22

如何构建带情感分析的语音识别系统?试试这款优化版SenseVoice镜像

如何构建带情感分析的语音识别系统&#xff1f;试试这款优化版SenseVoice镜像 在智能客服、会议记录、内容审核等实际场景中&#xff0c;单纯的语音转文字已经无法满足需求。我们更希望系统不仅能“听清”说了什么&#xff0c;还能“读懂”说话人的情绪和语境背景——比如是开…

作者头像 李华
网站建设 2026/7/27 3:28:45

关于spring的全量认识

这里聚焦一个问题&#xff0c;到底对spring产生怎么样的认识&#xff0c;才算有个稍微全面的认识。 本文章不适合初学者看。适合想集大成者看。 1.工程引入与配置层面&#xff1a; 什么版本的spring 2.代码层实际应用层面&#xff1a; spring提供了哪些机制。供我们使用 1.ioc …

作者头像 李华
网站建设 2026/7/19 5:56:10

B站视频内容提取神器:5秒读懂长视频的AI革命

B站视频内容提取神器&#xff1a;5秒读懂长视频的AI革命 【免费下载链接】BilibiliSummary A chrome extension helps you summary video on bilibili. 项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliSummary 你是否曾经面对B站上几十分钟的教程视频&#xff0c…

作者头像 李华
网站建设 2026/7/19 17:21:33

OpCore-Simplify终极指南:一键实现专业级Hackintosh自动化配置

OpCore-Simplify终极指南&#xff1a;一键实现专业级Hackintosh自动化配置 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 对于想要体验macOS系统但面…

作者头像 李华
网站建设 2026/7/20 20:21:19

OpenCore智能助手:新手也能轻松搭建黑苹果系统

OpenCore智能助手&#xff1a;新手也能轻松搭建黑苹果系统 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpenCore智能助手是一款革命性的黑苹果系统…

作者头像 李华
网站建设 2026/7/20 15:27:56

OpCore Simplify:告别繁琐配置,3分钟搞定黑苹果EFI

OpCore Simplify&#xff1a;告别繁琐配置&#xff0c;3分钟搞定黑苹果EFI 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的OpenCore配置发…

作者头像 李华