codevs 1160 蛇形矩阵x
小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1开始以逆时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该n行n列正方形矩阵以及其的对角线数字之和.
n(即n行n列)
n+1行,n行为组成的矩阵,最后一行为对角线数字之和
3
5 4 3
6 1 2
7 8 9
25
分类标签 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的更多相关文章
- codevs 1160 蛇形矩阵
1160 蛇形矩阵 传送门 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 题目描述 Description 小明玩一个数字游戏,取个n行 ...
- wikioi 1160 蛇形矩阵
/*======================================================================== 1160 蛇形矩阵 题目描述 Descriptio ...
- 1160 蛇形矩阵(codevs)
http://codevs.cn/problem/1160/ 题目描述 Description 小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1 ...
- js实现蛇形矩阵
参加腾讯前端实习生笔试,真的是被虐了千百遍,除了一条js程序题,其他半点前端都没有,都是考算法,计算机原理,数据结构.下面贴上腾讯笔试最后三大条中的一条,实现一个蛇形矩阵的输出.蛇形矩阵的什么样这里我 ...
- 【面试】输出"蛇形"矩阵
一.题目描述 腾讯实习在线笔试的一道题目. 根据输入的数字(< 1000),输出这样的"蛇形"矩阵,如下.输入n,输出(n * n)阶矩阵,满足由外到内依次增大. 如: 输入 ...
- c++实现蛇形矩阵总结
蛇形矩阵,百度了一下,是这么一个东西: 像一条蛇一样依次递增. 我想,竟然做了螺旋矩阵,那做一下这个吧.在之前的螺旋矩阵的main函数基础上,写个函数接口就行了,这一次做的很快,但是这个矩阵感觉比螺旋 ...
- Codevs No.3147 矩阵乘法2
2016-06-01 17:33:30 题目链接: 矩阵乘法2 (Codevs No.3147) 题目大意: 给定两个大小相同的正方形矩阵A,B.多次询问,每次求乘后矩阵的一个子矩阵所有元素的和. 解 ...
- Codevs No.1287 矩阵乘法
2016-06-01 16:53:23 题目链接: 矩阵乘法 (Codevs No.1287) 题目大意: 给你两个可乘矩阵a,b,求a*b 解法: 定义....... //矩阵乘法 (Codevs ...
- EOJ3536 求蛇形矩阵每一行的和---找规律
题目链接: https://acm.ecnu.edu.cn/problem/3536/ 题目大意: 求蛇形矩阵的每一行的和,数据范围n<=200000. 思路: 由于n数据较大,所以感觉应该是需 ...
随机推荐
- 3D打印技术的学习
1. 我们使用3D建模软件:123Ddesign来设计 123D design软件保存格式有2种,分别为123dx和stl格式 123dx格式:选择菜单栏中“Save”下的“To my compute ...
- Java基础/Socket.io双向通信
Socket.io基础知识(一) (一).socket.io提供了基于事件的实时双向通讯 Web端与服务端实时数据传输方式: 1.Ajax轮询方式(最早应用) 原理:设置定时器,定时通过Ajax同 ...
- CVE 2019 0708 安装重启之后 可能造成 手动IP地址丢失.
1. 最近两天发现 更新了微软的CVE 2019-0708的补丁之后 之前设置的手动ip地址会变成 自动获取, 造成ip地址丢失.. 我昨天遇到两个, 今天同事又遇到一个.微软做补丁也不走心啊..
- 【监控实践】【4.2】perfmon监控性能计数器(基于typeperf命令)
关键词:typeperf typeperf 命令 使用示例: 案例1:#使用typeperf收集windows cpu.内存.硬盘性能 #使用typeperf收集windows cpu.内存.硬盘性能 ...
- GraphQL入门有这一篇就足够了
GraphQL入门有这一篇就足够了:https://blog.csdn.net/qq_41882147/article/details/82966783 版权声明:本文为博主原创文章,遵循 CC 4. ...
- JS中创建10个a标签,点击弹出对应的序号
<script type="text/javascript"> for(var i=0;i<10;i++){ (function(i){ var a=docume ...
- python学习-第四天补充-面向对象
python学习-第四天补充-面向对象 python 私有 --name mangling(名字修改.名字) 在命名时,通过使用两个下划线作为开头,可以使得这个变量或者函数编程私有的,但是这个其实的p ...
- json与导入模块目录
import json """主要用于不同语言的数据公用 """ info = {"a":1,"b" ...
- jQuery之样式的类操作
方法:添加类addClass .删除类removeClass. 切换类toggleClass <style> div { width: 150px; height: 150px; b ...
- centos虚拟机配置网卡连接
本地连接 centos虚拟机连接设置: 换过ip之后需要重启网络服务新ip才生效 #service network restart 修改dns: