首页 > 其他分享 >蛇形填数

蛇形填数

时间:2023-02-19 23:44:16浏览次数:37  
标签:... 20 ++ int 填数 蛇形 row mp

蛇形填数

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

如下图所示,小明用从 1 开始的正整数“蛇形”填充无限大的矩阵。

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

容易看出矩阵第二行第二列中的数是 5。请你计算矩阵中第 20 行第 20 列的数是多少?

运行限制

最大运行时间:1s
最大运行内存: 128M

分析

提交答案

方法一:

#include<bits/stdc++.h>
using namespace std;

int mp[200][200], row = 0, col = 0, cnt = 1;

int main() {
    mp[0][0] = 1;
    while(!mp[19][19]) {
        //右移
        mp[row][++col] = ++cnt;
        //左下方
        while(col) {
            mp[++row][--col] = ++cnt;
        }
        //下移
        mp[++row][col] = ++cnt;
        //右上方
        while(row) {
            mp[--row][++col] = ++cnt;
        }
    }
    /*for(int i = 0; i < 20; i++) {
        for(int j = 0; j < 20; j++) {
            cout << mp[i][j] << "  ";
        }
        cout << endl;
    }*/
    cout << mp[19][19];
    return 0;
}

方法二:

#include<stdio.h>
#include<stdlib.h>

int main()
{
    int i,s=1;
    for(i=1;i<20;i++)
    {
        s+=4*i;
    }
    printf("%d",s);
    return 0;
}

方法三:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // 请在此输入您的代码
  /*
    1 2 6 7 15 ...
    3 5 8 14 ...
    4 9 13 ...
    10 12 ...
    11 ...
    ...
    分析可以知道
    (1)第一行,第一列 1 = 0*0 + 1*1;
    (2)第二行,第二列 5 = 1*1 + 2*2;
    (3)第三行,第三列 13 = 2*2 + 3*3;
              ....
    (20)第20行,第20列 ? = 19*19 + 20*20;
  */
  printf("%d",19*19 + 20*20);
  return 0;
}

标签:...,20,++,int,填数,蛇形,row,mp
From: https://www.cnblogs.com/bujidao1128/p/17135963.html

相关文章

  • P5731 蛇形方阵
    P5731【深基5.习6】蛇形方阵-洛谷|计算机科学教育新生态(luogu.com.cn)//为什么用动态二维数组//动态二维数组怎么用(申明、删除)#include<iostream>#include<c......
  • 756. 蛇形矩阵
    好久没写算法题了,先写个语法题练练手https://www.acwing.com/problem/content/description/758/#include<iostream>usingnamespacestd;constintN=105;intmap[N......
  • 【题解】[FJOI2017]矩阵填数
    题目分析:最大值为\(v\)的限制显然可以转化为\(\lev\)的方案数减去\(\lev-1\)的方案数。因为这里有很多个这种限制所以直接容斥就好了,具体来说就是枚举哪些条件取......
  • 蛇形填数——蓝桥杯(简单)
    题目描述如下图所示,小明用从 11 开始的正整数“蛇形”填充无限大的矩阵。  容易看出矩阵第二行第二列中的数是 55。请你计算矩阵中第 2020 行第 2020 列的数......
  • 蛇形填数(矩阵)
    蛇形填数      在nxn方针里填入1,2,...,nxn,要求填成蛇形。例如:n=4时方阵为:10111219  161328  151437    6  54上面的方阵中,多余的空格只......
  • 蛇形矩阵
    蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。例如,当输入5时,应该输出的三角形为:1 3 6 10 152 5 9 144 8 137 1211 思路:观察第一行的规律......
  • “蛇形”方阵的构造
        编写一个程序,将自然数1~n2按“蛇形”填入n×n矩阵中。例如,当n=5时,构造的方阵如下。      (1)编程思路1。    分析数的填法,是按“从右上到......
  • C语言:蛇形方阵
    题目给出一个不大于9的正整数n,输出n×n的蛇形方阵。从右上角填上1开始,逆时针方向依次填入数字,如同样例所示。注意每个数字都右对齐,中间用空格隔开。 例如:  ......
  • NYOJ 33 蛇形填数——————思维
    蛇形填数时间限制:3000ms|内存限制:65535KB难度:3描述在nn方陈里填入1,2,…,nn,要求填成蛇形。例如n=4时方陈为:10111219161328151437654输入直接输入方陈......
  • 计蒜客 | 矩阵蛇形输出
    题目:给定一个m行、n*列的矩阵,请按照下图所示的顺序输出矩阵中所有的元素(从[0][0]位置开始,具体请参见下图)。注意每次碰到边界后,必须且只能沿着边界移动一格,不能后退......