题目描述 Description

小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1开始以逆时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵以及其的对角线数字之和.

输入描述 Input Description

n(即n行n列)

输出描述 Output Description

n+1行,n行为组成的矩阵,最后一行为对角线数字之和

样例输入 Sample Input

3

样例输出 Sample Output

5 4 3
6 1 2
7 8 9
25

数据范围及提示 Data Size & Hint
 

分类标签 Tags 点此展开

一定要注意 :这道题一开始走的方向是 fx=1 ;

 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring> using namespace std; int n,lastnum,sum,num=;
int jz[][];
int fx;//代表此时走的方向 void con(int nx,int ny)
{
fx=;
memset(jz,,sizeof(jz));
jz[nx][ny]=;
while(num<lastnum)
{
if(fx==)//向右走
{
nx++;
jz[nx][ny]=++num;
if(jz[nx][ny+]==)
{
fx=;//转变为向上走
}
}
else if(fx==)//向上走
{
ny++;
jz[nx][ny]=++num;
if(jz[nx-][ny]==)
{
fx=;//转变为向左走
}
}
else if(fx==)//向左走
{
nx--;
jz[nx][ny]=++num;
if(jz[nx][ny-]==)
{
fx=;//转变为向下走
}
}
else if(fx==)//向下走
{
ny--;
jz[nx][ny]=++num;
if(jz[nx+][ny]==)
{
fx=;//转变为向右走
}
}
}
} int main()
{
scanf("%d",&n);
lastnum=n*n;
int firstx=(n+)/;//因为n一定为奇数
int firsty=firstx;
con(firstx,firsty);
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
cout<<jz[i][j]<<" ";
}
cout<<endl;
}
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
if(i==j) sum+=jz[i][j];//位于对角线上点 点的特征
if(i+j==n) sum+=jz[i][j];
}
}
cout<<sum;
return ;
}

codevs 1160 蛇形矩阵x的更多相关文章

  1. codevs 1160 蛇形矩阵

    1160 蛇形矩阵 传送门  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解       题目描述 Description 小明玩一个数字游戏,取个n行 ...

  2. wikioi 1160 蛇形矩阵

    /*======================================================================== 1160 蛇形矩阵 题目描述 Descriptio ...

  3. 1160 蛇形矩阵(codevs)

    http://codevs.cn/problem/1160/ 题目描述 Description 小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1 ...

  4. js实现蛇形矩阵

    参加腾讯前端实习生笔试,真的是被虐了千百遍,除了一条js程序题,其他半点前端都没有,都是考算法,计算机原理,数据结构.下面贴上腾讯笔试最后三大条中的一条,实现一个蛇形矩阵的输出.蛇形矩阵的什么样这里我 ...

  5. 【面试】输出"蛇形"矩阵

    一.题目描述 腾讯实习在线笔试的一道题目. 根据输入的数字(< 1000),输出这样的"蛇形"矩阵,如下.输入n,输出(n * n)阶矩阵,满足由外到内依次增大. 如: 输入 ...

  6. c++实现蛇形矩阵总结

    蛇形矩阵,百度了一下,是这么一个东西: 像一条蛇一样依次递增. 我想,竟然做了螺旋矩阵,那做一下这个吧.在之前的螺旋矩阵的main函数基础上,写个函数接口就行了,这一次做的很快,但是这个矩阵感觉比螺旋 ...

  7. Codevs No.3147 矩阵乘法2

    2016-06-01 17:33:30 题目链接: 矩阵乘法2 (Codevs No.3147) 题目大意: 给定两个大小相同的正方形矩阵A,B.多次询问,每次求乘后矩阵的一个子矩阵所有元素的和. 解 ...

  8. Codevs No.1287 矩阵乘法

    2016-06-01 16:53:23 题目链接: 矩阵乘法 (Codevs No.1287) 题目大意: 给你两个可乘矩阵a,b,求a*b 解法: 定义....... //矩阵乘法 (Codevs ...

  9. EOJ3536 求蛇形矩阵每一行的和---找规律

    题目链接: https://acm.ecnu.edu.cn/problem/3536/ 题目大意: 求蛇形矩阵的每一行的和,数据范围n<=200000. 思路: 由于n数据较大,所以感觉应该是需 ...

随机推荐

  1. 3D打印技术的学习

    1. 我们使用3D建模软件:123Ddesign来设计 123D design软件保存格式有2种,分别为123dx和stl格式 123dx格式:选择菜单栏中“Save”下的“To my compute ...

  2. Java基础/Socket.io双向通信

    Socket.io基础知识(一) (一).socket.io提供了基于事件的实时双向通讯 Web端与服务端实时数据传输方式: 1.Ajax轮询方式(最早应用)   原理:设置定时器,定时通过Ajax同 ...

  3. CVE 2019 0708 安装重启之后 可能造成 手动IP地址丢失.

    1. 最近两天发现 更新了微软的CVE 2019-0708的补丁之后 之前设置的手动ip地址会变成 自动获取, 造成ip地址丢失.. 我昨天遇到两个, 今天同事又遇到一个.微软做补丁也不走心啊..

  4. 【监控实践】【4.2】perfmon监控性能计数器(基于typeperf命令)

    关键词:typeperf typeperf 命令 使用示例: 案例1:#使用typeperf收集windows cpu.内存.硬盘性能 #使用typeperf收集windows cpu.内存.硬盘性能 ...

  5. GraphQL入门有这一篇就足够了

    GraphQL入门有这一篇就足够了:https://blog.csdn.net/qq_41882147/article/details/82966783 版权声明:本文为博主原创文章,遵循 CC 4. ...

  6. JS中创建10个a标签,点击弹出对应的序号

    <script type="text/javascript"> for(var i=0;i<10;i++){ (function(i){ var a=docume ...

  7. python学习-第四天补充-面向对象

    python学习-第四天补充-面向对象 python 私有 --name mangling(名字修改.名字) 在命名时,通过使用两个下划线作为开头,可以使得这个变量或者函数编程私有的,但是这个其实的p ...

  8. json与导入模块目录

    import json """主要用于不同语言的数据公用 """ info = {"a":1,"b" ...

  9. jQuery之样式的类操作

    方法:添加类addClass    .删除类removeClass. 切换类toggleClass <style> div { width: 150px; height: 150px; b ...

  10. centos虚拟机配置网卡连接

    本地连接 centos虚拟机连接设置: 换过ip之后需要重启网络服务新ip才生效 #service network restart 修改dns: