[1295]螺旋方阵 SDUTOJ-螺旋方阵

本文介绍了一个使用螺旋方式填充二维矩阵的算法实现,并通过C++代码详细展示了如何根据输入的整数n生成一个n×n的矩阵,该矩阵按螺旋顺序填充从1到n²的整数。特别地,当n为奇数时,矩阵中心位置将被n²占据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//                                                                                                                         //
//                               #***##*********++=                       #**************++-                               //
//                           #############**********+++-             ############**********++++-                           //
//                        ####################********++++=       *###############*********++++++=-                        //
//                      #######################*********+++++   ##################**********++++++==-                      //
//                     #######################*****************##################*********+++++++====-+                    //
//                   ########################*****************###############************+*+++++++===--:                   //
//                  ########################*#****************#############**************+++++++++====--:                  //
//                 ###########################***************#*#########****************++++++++++====---:                 //
//                ###########################*******************######**#*************+++++++++++=====---:=                //
//                #########################*******************#*#*###****************++++++++++=======---::                //
//               #########################*#*****************************************+++++++++========---::=               //
//               *#######################**#**************************************+++++++++++++======----::.               //
//               *####################**##***************************************++++++++++++=======----:::.               //
//               ***##############**###*#***************************************+++++++++++++======-----:::.               //
//               ****##########*###****#**************************************+++++++++++++========-----:::.               //
//               *******##*************************************************+++++++++++++++=======------:::..               //
//               +****************************************************+*+++++++++++++++==========-----::::..               //
//                ***************************************************+*+++++++++++++++=========-------:::..                //
//                +**********************************************+****++++++++++++++==========-------:::...                //
//                 +**********************************************+++**+++++++++++=+========-------:::::..                 //
//                 ++*********************************++*********+++*+++++++++++============------:::::...                 //
//                  ++*******************************+*+********+**++++++++++++===========-------:::::...                  //
//                   ++++***************************+**+++***+++++++++++++++++==========--------:::::...                   //
//                    +++++***************+*******+*++++++*++++++++++++++++=============------::::::...                    //
//                     +++++**+*+**+*****+*+**++++*++++++++++++++++++++==+===========--------::::::....                    //
//                      ++++++++*++*+*++*++++**++++++++++++++++++++++=++===========--------::::::....                      //
//                       =++++++++++++++*++++++++++++++++++++++++++++============-=-------::::::....                       //
//                        ==++++++++++++++++++++++++++++++++++++++++============---------:::::.....                        //
//                         ==++++++++++++++++++++++++++++++++++++=============--------:::::::.....                         //
//                           ===++++++++++++++++++++++++++++++++=============--------::::::.....                           //
//                            ====++++++++++++++++++++++++++++=+=========----------::::::......                            //
//                              ======++++++++++++++++++++++==+=========----------:::::......                              //
//                                ======+=++++++++++++++++++=+=======----------:::::::.....                                //
//                                  ========+++=++++++=+++++========---------:::::::.....                                  //
//                                    =================+=+========--------:::::::......                                    //
//                                      -========================-------:::::::......                                      //
//                                        --====================-----:::::::.......                                        //
//                                           --===============-----:::::::......                                           //
//                                             ----===========----:::::.......                                             //
//                                                ----=======----::::......                                                //
//                                                   -----==---:::......                                                   //
//                                                      -------::....                                                      //
//                                                         ---:...                                                         //
//                                                           -:.                                                           //
//                                                                                                                         //
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

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

int main(void)
{
    int i, t, j, n;
    int a[15][15];
    cin >> t;
    while(t--)
    {
        int cir=1;
        memset(a,-1,sizeof(a));
        cin >> n;
        int num = 1;
        int cut = n * n;
        if(n%2!=0)
        {
            a[n/2+1][n/2+1]=n*n;
            cut --;
        }
        while(num <= cut)
        {
            for(i = cir ,j = cir; j < n-cir+1 ;j ++)
                a[i][j]=num++;

            for(i = cir ,j = n-cir+1; i < n-cir+1 ;i ++)
                a[i][j]=num++;

            for(i = n-cir+1 ,j = n-cir+1 ; j > cir ;j --)
                a[i][j]=num++;

            for(i = n-cir+1 ,j = cir; i > cir ;i --)
                a[i][j]=num++;

            cir++;
        }
        for(i = 1;i <= n; i ++ )
        {
            for(j = 1; j < n; j ++)
            {
                printf("%d\t",a[i][j]);
            }
            cout << a[i][j] << endl;
        }
        putchar('\n');
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值