P5731 【深基5.习6】蛇形方阵

简介: P5731 【深基5.习6】蛇形方阵

题目描述

给出一个不大于 9 的正整数 n,输出 n×n 的蛇形方阵。

从左上角填上 1 开始,顺时针方向依次填入数字,如同样例所示。注意每个数字有都会占用 3 个字符,前面使用空格补齐。

输入

4

输出

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

参考代码

#include<bits/stdc++.h>
using namespace std;
int n,x=1,y=0,k=1,arr[15][15];
int main()
{
  cin>>n;
  while(k <= n*n){
    while((y+1)<=n && !arr[x][y+1])//没有越界和没有填数,向右 
      arr[x][++y] = k++;
    while((x+1)<=n&&!arr[x+1][y]){//向下 
      arr[++x][y]=k++; 
    } 
    while((y-1)>=1&&!arr[x][y-1]){
      arr[x][--y] = k++;
    }
    while((x-1)>=1&&!arr[x-1][y]){
      arr[--x][y] = k++;
    }
  }
  for(int i = 1; i <= n; i++){
    for(int j = 1; j<=n ; j++){
      printf("%3d",arr[i][j]); 
    }
    cout<<endl;
  }
  return 0;
}
相关文章
|
Web App开发 弹性计算 缓存
基于ECS搭建FTP服务
本教程介绍如何在Linux实例上安装并配置vsftpd,在被动模式下,使用本地用户访问FTP服务器的配置方法。。
|
机器学习/深度学习 存储
[GESP样题 四级] 填幻方和幸运数
[GESP样题 四级] 填幻方和幸运数
365 1
|
机器学习/深度学习 人工智能 C++
【c++百日刷题计划】 ———— DAY15,刷题百天,养成刷题好习惯
【c++百日刷题计划】 ———— DAY15,刷题百天,养成刷题好习惯
338 1
|
JavaScript
Vue实战【封装一个简单的列表组件,实现增删改查】
Vue实战【封装一个简单的列表组件,实现增删改查】
285 0
Vue实战【封装一个简单的列表组件,实现增删改查】
|
搜索推荐 算法 IDE
齐姐漫画:排序算法(二)之「 归并排序」和「外排序」
那我们借用 cs50 里的例子,比如要把一摞卷子排好序,那用并归排序的思想是怎么做的呢?
283 0
齐姐漫画:排序算法(二)之「 归并排序」和「外排序」
|
JavaScript 前端开发 索引
JavaScript相关面试题2:1.深拷贝和浅拷贝区别;2. [“1“,“2“,“3“].map(parselInt)的返回值;3.预防按钮的重复点击
解决方案 1.控制按钮,在短时间内被多次点击,第一次以后的点击无效。 2.控制按钮,在点击按钮触发的请求响应之前,再次点击无效。 3.配置特殊的URL,然后控制这些URL请求的最小时间间隔。如果再次请求跟前一-次请求间隔很小,弹窗二次提示,是否继续操作。 防止无意识复点击按钮 给按钮添加控制,在control 毫秒内,第一次点击事件之后的点击事件不执行。
245 0
|
7天前
|
云安全 人工智能 自然语言处理
|
11天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
991 35
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
673 4