#蛇形矩阵

news/2024/2/21 10:23:02

题目描述

给你一个整数n,输出n∗n的蛇形矩阵。 输入描述: 输入一行,包含一个整数n 输出描述: 输出n行,每行包含n个正整数,通过空格分隔。

1<=n<=1000

示例1

输入

4

输出

1 2 6 7

3 5 8 13

4 9 12 14

10 11 15 16

输入n,生成n * n的蛇形矩阵。对于沿着主对角线,与主对角线垂直的斜线一共又2*n-1条(包括两个端点),并且,这每一条线上的元素横纵坐标之和为一个定值2n-2。

如4 * 4矩阵

1 2 6 7

3 5 8 13

4 9 12 14

10 11 15 16

其中一条斜线num[2][0]=4,num[1][1]=5,num[0][2]=6,其横纵下标之和皆为2。

本题分为两个部分看,一部分是反对角线以上(含反对角线),当下标之和为奇数时,行坐标递增,列坐标递减,开头的行坐标为0。当下标之和为偶数时,行坐标递减,列坐标递增,开头的行坐标为i。

另一部分是反对角线以下,当i为奇数时开头必在列坐标为n-1上,当i为偶数时开头必在行坐标为n-1上,并且递减,与另一个坐标的关系为i-(n-1)。

根据横纵坐标之和为定值,以上两种情况皆可通过定值i减去横/纵坐标,计算出对应的横/纵坐标。

个人认为知道规律后,关键是确定好起始坐标,及横纵坐标递减或递增的最大/最小值。

复制代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

#include<iostream>

using namespace std;

int main()

{

    int i, j, n, count = 1;

    cin>>n;

    int num[n][n];

    for (i = 0; i < n; i++)

    {

        if (i % 2 == 0)

        {

            for (j = i; j >= 0; j--)

                num[j][i - j] = count++;

        }

        else

        {

            for (j = 0; j <= i; j++)

                num[j][i - j] = count++;

        }

    }

    for (i = n; i <= 2 * n - 1; i++)

    {

        if (i % 2 == 0)

        {

            for (j = n - 1; j >= i - (n - 1); j--)

                num[j][i - j] = count++;

        }

        else

        {

            for (j = n - 1; j >= i - (n - 1); j--)

                num[i - j][j] = count++;

        }

    }

    for (i = 0; i < n; i++)

    {

        for (j = 0; j < n; j++)

            cout<<num[i][j]<<" ";

        cout<<endl;

    }

    return 0;

}

C++C数组


http://www.ppmy.cn/news/927343.html

相关文章

春节魅影 yeah

尊重别人的风俗习惯;尊重别人的饮食习惯;尊重别人的生活习惯.

贪吃蛇 (狂神说)

贪吃蛇&#xff08;狂神说案例&#xff09; package com.zishi.snake;import javax.swing.*;public class StartGame {public static void main(String[] args) {JFrame frame new JFrame();frame.setBounds(10,10,900,720);frame.setResizable(false);//设置窗口大小不可变f…

蛇形矩阵

开始了找工作的一年&#xff0c;刷题的过程中发现有时候好记性不如烂笔头&#xff0c;而且有时候找最好的解法并不容易&#xff0c;因此&#xff0c;陆续更新一些笔记&#xff0c;方便和我一样的小白们学习。 蛇形矩阵是很常见的题目&#xff0c;我在这里给出见到的几种变种题…

电影-侠盗魅影

由两位美女主演的法国片. 情节一般,不过有美女助阵,还有不少的搞笑镜头,还值得一看了. 什么时候才能再看到象<>那样有情节的片子呢? 来自 “ ITPUB博客 ” &#xff0c;链接&#xff1a;http://blog.itpub.net/6906/viewspace-22064/&#xff0c;如需转载&#xff0c;请…

吞食天地2西瓜魅影 萌新版自通攻略

吞食天地2西瓜魅影 萌新版图文攻略 游戏作者&#xff1a;大西瓜 攻略作者&#xff1a;威猛毛毛虫(吞食天地吧) 攻略整理&#xff1a;南城故事北边跑 整理时间&#xff1a;2022.07.05 资源下载&#xff1a;吞食天地2西瓜魅影萌新版自通攻略吞食天地2西瓜魅影萌新版图文攻略游…

歌剧魅影

2005.03.05,下午去看得歌剧魅影,位置是16排10座。整部戏的感觉不错,不过遗憾的是最近一直没好好先看一下剧本,结果所有的对白还可以听一下,唱起来基本上是听不出多少了。而且对里面的歌曲,除了那首the phantom of the opera 比较熟,另外 All I Ask of You 的音乐比较熟悉…

魅影匆匆

人的一生&#xff0c;是一个不断自我完善的过程&#xff0c;在这一个过程中必然会经历许多波折与磨难。最后蜕变出来的不是羽化升仙便是落地喃喃…… 不过挥手之间&#xff0c;一年的大学生活也就从指缝间悄然而逝。 以前总是以为&#xff0c;大学该有多好玩&#xff0c;多浪漫…

贪吃蛇小游戏【狂神说】

根据学习狂神说的贪吃蛇游戏实现&#xff0c;基于对其代码的实现 一、贪吃蛇实现功能 小蛇根据键盘方向键控制小蛇的移动方向&#xff0c;按一定速率移动。当按下空格键时,开始游戏&#xff1b;再次按下空格键时&#xff0c;暂停游戏。 小蛇不能回头吃自己&#xff0c;小蛇碰到…

紫色魅影

紫色魅影 ——赠紫影 ◇本文作者是杜雪&#xff0c;于2001.10.31 10:00:01 发表于 爱情故事 序&#xff1a;爱情故事无非以喜剧或是以悲剧为结果&#xff0c;然而我的呢&#xff1f;我不知道&#xff0c;或许它早已经结束&#xff0c;或许它仍然存在。然而无论它存在与否&…

整理一些常见测试方法

等价类划分法&#xff1a; 把所有可能的输入数据&#xff0c;划分为若干个子集&#xff0c;从每个子集取少数具有代表性的数据作为测试用例。 有效等价类&#xff1a;合理的有意义的输入数据构成的集合——程序能够正确执行 无效等价类&#xff1a;不合理的无意义的输入数据…

Scala(二)

第2章 变量和数据类型 2.1 注释 Scala注释使用和Java完全一样。 注释是一个程序员必须要具有的良好编程习惯。将自己的思想通过注释先整理出来&#xff0c;再用代码去体现。 1&#xff09;基本语法 &#xff08;1&#xff09;单行注释&#xff1a;// &#xff08;2&#xff0…

pgadmin下载地址

https://www.pgadmin.org/download/ https://www.pgadmin.org/docs/pgadmin4/4.x/

Centos各个版本下载地址

CentOS7.6 下载地址 CentOS-7-x86_64-DVD-1810.iso CentOS 7.6 DVD 版 4G http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso CentOS-7-x86_64-Everything-1810.iso CentOS 7.6 Everything版 10G http://mirrors.163.com/centos/7.6.1810/…

photoshop 软件下载地址,找了好久才找到的

photoshop2020中文破解版百度网盘下载 https://pan.baidu.com/s/1Z1WNU0PvbgLAlUl6UXDj6Q 软件安装和操作技巧说明 http://www.ddooo.com/softdown/158066.htm

TortoiseSVN官网下载地址

客户端&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/osdn/storage/g/t/to/tortoisesvn/&#xff08;版本名/Application目录&#xff09; 语言包&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/osdn/storage/g/t/to/tortoisesvn/&#xff08;版本名/Language Pac…

好用的镜像下载地址

好用的镜像下载地址 代码 用pip下载时使用镜像下载&#xff0c;秩序修改***处&#xff0c;改为需要下载的文件和版本号即可 pip install ****** -i https://pypi.tuna.tsinghua.edu.cn/simple

PS For Mac 内含破解文件下载地址

PS For Mac 内含破解文件下载地址 http://vdisk.weibo.com/s/BDn59yfnBVNnE

ps、markman、cutterman下载地址

ps下载地址&#xff1a;链接: https://pan.baidu.com/s/1jHKAOkA 密码: baai markman下载地址&#xff1a;http://www.getmarkman.com/ cutterman下载地址&#xff1a;http://www.cutterman.cn/zh

Debian9的各个版本的下载地址

# 以下为debian-9.6版的下载地址&#xff0c;不同镜像对应不同的Linux桌面环境# 官网下载地址 共三个镜像文件&#xff0c;一般只下载第一个就行了&#xff0c;当然也可以全部现在&#xff0c;启动时先选择第一个光盘&#xff0c;如果你安装的时候选择的软件比较多&#xff0c;…

Flask是什么?它的主要作用是什么?

大家好&#xff0c;今天我们要来聊聊一个非常有趣的话题——Flask&#xff01;不过在开始之前&#xff0c;我们先来个小插曲&#xff0c;缓解一下紧张的气氛。 想象一下&#xff0c;有一天你在家无聊地翻看朋友圈&#xff0c;突然看到一个标题&#xff1a;“用Flask轻松搭建自…
最新文章