螺旋形迷宫(c++题解)

题目描述

题目描述

一个的方阵迷宫,每格有一个整数。左上角坐标为,右下角坐标为。现从左上角开始,按顺时针方向在迷宫中行走,按螺旋形一直走到迷宫的中心。依行走顺序输出每格的数字。

输入格式

第行:个整数 接下来行,每行个空格分开的整数,每个数不超过.

输出格式

第行:按要求依次输出个数,各数之间用一个空格分开。

样例

样例输入

复制代码
复制4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

样例输出

复制代码
复制1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10 

日常发作业题解。

也是简单到爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆表的题

写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int a[1005][1005],b[1005][1005],c[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
int n,x=1,y=0,idx=0;
int main(){
	cin>>n;
	for(int i=0;i<=n+1;i++){
		for(int j=0;j<=n+1;j++){
			if(i==0||j==0||i==n+1||j==n+1)b[i][j]=1;
			else cin>>a[i][j];	
		}
	}
	n*=n;
	while(n>0){
		if(b[x+c[idx][0]][y+c[idx][1]]==1){
			idx++;
			idx%=4;
		}
		x+=c[idx][0],y+=c[idx][1];
		b[x][y]=1;
		cout<<a[x][y]<<" ";
		n--;
	}
} 
相关推荐
luteres5 分钟前
Mybatis+SSM整合笔记
java·开发语言·mybatis
郝学胜-神的一滴13 分钟前
《C++11 工程级应用01:告别冗长类型,开启简洁高效编码新时代》深度解读
开发语言·c++·算法·软件开发·系统设计
其实防守也摸鱼18 分钟前
推荐一个自动化教育SRC漏洞挖掘系统--AutoHunter
运维·开发语言·人工智能·学习·安全·web安全·自动化
学习中.........1 小时前
Transformer 训练资源估算:以 CS336 GPT-2 XL 配置为例
人工智能·python·算法·机器学习·自然语言处理
覆东流7 小时前
7.Java数组
java·开发语言·后端
Navigator_Z7 小时前
LeetCode //C - 1206. Design Skiplist
c语言·算法·leetcode
码行山野赴时序归途7 小时前
三道经典数组题:从暴力到最优的算法思维
c语言·开发语言·数据结构·算法·leetcode
lzhdim7 小时前
提高 SQL 语句执行速度的方法
java·开发语言·数据库·sql·oracle
JavaPub-rodert7 小时前
王仕宇在 Go Context 如何解决协程泄漏与超时控制
开发语言·后端·golang·iphone·javapub·王仕宇
徐小夕7 小时前
3分钟从想法到Agent上线:我们开源了一款AI可视化工作流“IDE”
前端·算法·github