• goj 蛇形矩阵


    Problem Description:

    蛇形矩阵是由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
    解题思路:找规律题,先打表,再直接输出。
    举个栗子:当n=3时,矩阵坐标如下:
    (0,0),(0,1),(0,2)
    (1,0),(1,1)
    (2,0)
    通过上面的举例,我们可以发现,同一颜色从左往右看,横坐标是降序,纵坐标是升序,结合样例可知,给其一个计数器,从行开始,依次遍历,公式为snake[i-j][j]=num++,水过。
    AC代码:
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int main()
     4 {
     5     int n,num=1,snake[101][101];
     6     memset(snake,0,sizeof(snake));
     7     for(int i=0;i<101;++i)
     8         for(int j=0;j<=i;++j)
     9             snake[i-j][j]=num++;
    10     while(cin>>n){
    11         for(int i=0;i<n;++i){
    12             for(int j=0;j<n-i;++j){
    13                 cout<<snake[i][j];
    14                 if(j!=n-i-1)cout<<' ';
    15                 else cout<<endl;
    16             }
    17         }
    18     }
    19     return 0;
    20 }
  • 相关阅读:
    查缺补漏中~~
    The number of divisors(约数) about Humble Numbers
    Octorber 21st
    素数回文
    盐水的故事
    居然因为交换错了好几把。。。。,还有坑点是num1可以大于num2
    税收与补贴问题(洛谷1023)
    斐波拉契高精度(洛谷1255)
    高精度模板
    Codeforces#373 Div2
  • 原文地址:https://www.cnblogs.com/acgoto/p/9028500.html
Copyright © 2020-2023  润新知