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

蓝桥杯模拟算法:蛇形方阵

P5731 【深基5.习6】蛇形方阵 - 洛谷 | 计算机科学教育新生态

我们只要定义两个方向向量数组,这种问题就可以迎刃而解了

比如我们是4的话,我们从左向右开始存,1,2,3,4 到5的时候y就大于4了就是越界了,这时候我们换成向下的方向,也就是用第二个方向向量继续往下走,也就是增加x,继续存5,6,7,接下来x又越界了,接下来继续向左存8,9,10 然后向上存11,12 向右存13,14,向下存15,向左存16

#include <iostream>
#include <cstring>
using namespace std;

const int N = 19;
int dx[] = {0,1,0,-1};
int dy[] = {1,0,-1,0};
int ret[N][N];
int main()
{
	int n;
	cin >> n;
	int cnt = 1;
	int x = 1,y = 1;
	int pos = 0;
	int a,b;
	while(cnt <= n*n)
	{
		ret[x][y] = cnt;
		a = x+dx[pos];b = y+dy[pos];
		if(a>n || b>n || a<1 || b<1 || ret[a][b])
		{
			pos = (pos+1)%4;
			a = x+dx[pos];b=y+dy[pos];
            
		}
        x = a;y = b;
		cnt++;		
	}
	for(int i = 1;i<=n;i++)
	{
		for(int j = 1;j<=n;j++)
		{
			printf("%3d",ret[i][j]);
			
		}
		puts("");
	}
	
	
	
	
	return 0;
}


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

相关文章:

  • 定西市建筑房屋轮廓数据shp格式gis无偏移坐标(字段有高度和楼层)内容测评
  • 计算机网络 (61)移动IP
  • VS C++ 配置OPENCV环境
  • WGCLOUD使用介绍 - 如何监控ActiveMQ和RabbitMQ
  • spark运行流程
  • 动手学图神经网络(5):使用Cluster - GCN方法来扩展GNNs
  • cloc下载和使用
  • C#新语法
  • ES filter和post_filter的区别
  • IDEA全局搜索Ctrl+Shift+F失效
  • vim的特殊模式-可视化模式
  • 超市数字化落地:RWA + 智能体赋能实体零售数字化
  • 2025美赛MCM数学建模A题:《石头台阶的“记忆”:如何用数学揭开历史的足迹》(全网最全思路+模型)
  • Ubuntu Server 安装 XFCE4桌面
  • leetcode152-乘积最大的子数组
  • Forsaken喜欢数论(线性筛)
  • H266/VVC 量化编码中量化矩阵 QM 技术
  • 是否参加26年冬奥会?30岁羽生结弦:没有重返赛场打算
  • 小A的回文串
  • 无耳科技 Solon v3.0.7 发布(2025农历新年版)
  • ChatGPT从数据分析到内容写作建议相关的46个提示词分享!
  • 【S32K3 RTD LLD篇7】K344中心对齐PWM中心点触发ADC BCTU采样
  • 2025MCM美国大学生数学建模竞赛B题-可持续旅游管理思路详解+建模论文+源代码
  • C# 拖入文件 只能拖入txt文件
  • 性能优化案例:通过合理设置spark.default.parallelism参数的值来优化PySpark程序的性能
  • 白嫖一个可以公网访问、带评论和图床的博客系统