螺旋形迷宫(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--;
	}
} 
相关推荐
Code Warrior12 分钟前
【Linux】Socket 编程预备知识
linux·网络·c++
A尘埃13 分钟前
LLM大模型评估攻略
开发语言·python
智者知已应修善业14 分钟前
【c语言蓝桥杯计算卡片题】2023-2-12
c语言·c++·经验分享·笔记·算法·蓝桥杯
littlepeanut.top14 分钟前
C++中将FlatBuffers序列化为JSON
开发语言·c++·json·flatbuffers
hansang_IR20 分钟前
【题解】洛谷 P2330 [SCOI2005] 繁忙的都市 [生成树]
c++·算法·最小生成树
一晌小贪欢37 分钟前
【Python办公】处理 CSV和Excel 文件操作指南
开发语言·python·excel·excel操作·python办公·csv操作
清风与日月41 分钟前
c# 集成激光雷达(以思岚A1为例)
开发语言·c#
Croa-vo1 小时前
PayPal OA 全流程复盘|题型体验 + 成绩反馈 + 通关经验
数据结构·经验分享·算法·面试·职场和发展
是苏浙1 小时前
零基础入门C语言之贪吃蛇的实现
c语言·开发语言·数据结构
AndrewHZ1 小时前
【图像处理基石】 怎么让图片变成波普风?
图像处理·算法·计算机视觉·风格迁移·cv