zoukankan      html  css  js  c++  java
  • 24:蛇形填充数组

    24:蛇形填充数组

    总时间限制: 
    1000ms
     
    内存限制: 
    65536kB
    描述

    用数字1,2,3,4,...,n*n这n2个数蛇形填充规模为n*n的方阵。

    蛇形填充方法为:

    对于每一条左下-右上的斜线,从左上到右下依次编号1,2,...,2n-1;按编号从小到大的顺序,将数字从小到大填入各条斜线,其中编号为奇数的从左下向右上填写,编号为偶数的从右上到左下填写。

    比如n=4时,方阵填充为如下形式:

    1  2  6  7
    3  5  8  13
    4  9  12 14
    10 11 15 16
    
    输入
    输入一个不大于10的正整数n,表示方阵的行数。
    输出
    输出该方阵,相邻两个元素之间用单个空格间隔。
    样例输入
    4
    样例输出
    1 2 6 7
    3 5 8 13
    4 9 12 14
    10 11 15 16
    • 查看
    •  
    • 提交
    •  
    • 统计
    •  
    • 提问
       1 #include<iostream>
       2 #include<cstdio>
       3 #include<string>
       4 #include<cstring>
       5 using namespace std;
       6 int a[101][101];
       7 int main()
       8 {
       9     int n,t=0;
      10     cin>>n;
      11     for(int k=1;k<=n*2-1;k++)
      12      {
      13          if(k%2!=0)//奇对角线; 
      14           {
      15               for(int i=n;i>=1;i--)
      16                {
      17                    for(int j=1;j<=n;j++)
      18                     {
      19                         if(i+j-1==k)
      20                          {
      21                              a[i][j]=++t;
      22                          }
      23                     }
      24                }
      25           }
      26           if(k%2==0)
      27            {
      28            for(int i=1;i<=n;i++)
      29                {
      30                    for(int j=1;j<=n;j++)
      31                     {
      32                         if(i+j-1==k)
      33                          {
      34                              a[i][j]=++t;
      35                          }
      36                          
      37                          }
      38                          }
      39      }
      40      }
      41      for(int i=1;i<=n;i++)
      42       {
      43           for(int j=1;j<=n;j++)
      44            {
      45                cout<<a[i][j];
      46                cout<<" ";
      47            }
      48            cout<<endl;
      49       }
      50 }
  • 相关阅读:
    Rotation Kinematics
    离职 mark
    PnP 问题方程怎么列?
    DSO windowed optimization 代码 (4)
    Adjoint of SE(3)
    IMU 预积分推导
    DSO windowed optimization 代码 (3)
    DSO windowed optimization 代码 (2)
    OKVIS 代码框架
    DSO windowed optimization 代码 (1)
  • 原文地址:https://www.cnblogs.com/lyqlyq/p/6659666.html
Copyright © 2011-2022 走看看