zoukankan      html  css  js  c++  java
  • 每天OnLineJudge 之 “蛇形矩阵 ”

    Problem
    蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。

    Input
    本题有多组数据,每组数据由一个正整数N组成。(N不大于100)

    Output
    对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。

    矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。

    Sample Input
    5

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

    ------------------------------
    我的解法:
    其实质是按某中顺序遍历数组
    观察下面的数据:

    值  位置   组号
    1   00     0
    ----
    2   10     1
    3   01
    ----
    4   20     2
    5   11
    6   02
    ----
    7   30     3
    8   21
    9   12
    10  03
    ----
    11  40     4
    12  31   
    13  22
    14  31
    15  04

    看了这些数据,就应该知道规律了吧

    ---------------------


    /*
    此解答已通过TongJi编译并Accepted
    Result   Memory Time Language Date 
    Accepted 52k    4ms  C++      2006-05-07 19:29:56
    zhouyinhui

    */


    #include<stdio.h>

    #define MAX 110

    int main()
    {
     int n;
     while(scanf("%d",&n) != EOF)
     {
      int arr[MAX][MAX] = {{0}};

      int value = 0;

      int i,a,b;

      for(i=0; i<n; i++)
      {
       for(a=i,b=0; a>=0 && b<=i; a--,b++)
       {
        arr[a][b] = ++value;
       }
      }

      for(a=0; a<n; a++)
      {
       for(int b=0; b<n; b++)
       {
        if(arr[a][b] != 0)
        {
         if(arr[a][b+1] != 0)
         {
          printf("%d ", arr[a][b]);
         }
         else//行尾
         {
          printf("%d", arr[a][b]);
         }
        }
       }
       printf("\n");
      }

     }

     return 0;
    }

  • 相关阅读:
    使用 virtualenv/venv 和 pip 管理虚拟环境
    Python:virtualenv 和 venv 的区别
    Python | Get unique values from a list
    Python ORM 框架 Peewee 知识点
    python之配置日志的几种方式
    python 中的 None,知识点
    Gunicorn 知识点
    gunicorn部署flask的log处理
    Python 逻辑运算符(and、or、not)、成员运算符(in、not in)、身份运算符(is、is not)
    Python 中没有 null,用 None 表示
  • 原文地址:https://www.cnblogs.com/zhouyinhui/p/393384.html
Copyright © 2011-2022 走看看