当前位置: 首页 > article >正文

螺旋形迷宫(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 

____________________________________________________________________________
日常发作业题解。 

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

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

_________________________________________________________________________

 

#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--;
	}
} 


http://www.kler.cn/a/227419.html

相关文章:

  • C语言实现跳表(附源码)
  • LabVIEW叶片厚度远程监控
  • MATLAB计算多边形质心/矩心
  • C语言常见面试题:C语言中如何进行数据库编程?
  • Java希尔排序
  • 离线数仓-数据治理
  • C++ //练习 4.2 根据4.12节中的表,在下述表达式的合理位置添加括号,使得添加括号后运算对象的组合顺序与添加括号前一致。
  • 2023年最受欢迎的4款绘图软件全面评测!
  • Hadoop生态系统中一些关键组件的详细解析
  • 如何选择Centos的替代者
  • GO EASY 框架 之 NET 05
  • 【数据结构】二叉树链式结构的实现
  • 明天是几号(c++题解)
  • scoped样式隔离原理
  • springboot在线文档的集成方式
  • MaxKey 单点登录认证系统——登录验证流程分析
  • LeAPI 后端接口开发 - 发布、下线接口
  • 正点原子--STM32定时器学习笔记(2)
  • 商品信息全景图:API接口在聚合商品数据中的应用
  • Shell脚本是一种用来自动化执行一系列命令的文本文件