AcWing
  • 首页
  • 题库
  • 题解
  • 分享
  • 问答
  • 活动
  • 应用
  • 吐槽
  • 登录/注册

AcWing 753. 平方矩阵 I 使用方向数组    原题链接    困难

作者: 作者的头像   南方 ,  2021-01-10 21:08:30 ,  阅读 45


0


C++ 代码

#include <iostream>
#include <cstring>
using namespace std;

int xy[4][2] = {{0,1},{1,0},{0,-1},{-1,0}};
short n[100][100];
int main()
{
    short N;
    int x , y;
    while(1)
    {
        memset(n , 0 , sizeof(short) * 10000);
        cin >> N;
        if(!N)
            exit(0);
        x = 0 , y = -1;

        for(short i = 1 ; i <= N ; i++)
        {
            for(int k = 0 ; k < 4 ; k++)
            {
                while(1)
                {
                    x = x + xy[k][0]; 
                    y = y + xy[k][1];
                    if(x <= (N - i) && x >= 0 && y <= (N - i) && y >= 0 && n[x][y] == 0)
                        n[x][y] = i;
                    else
                    {
                        x = x - xy[k][0]; 
                        y = y - xy[k][1];
                        break;
                    }

                }

            }
        }

        for(int i = 0 ; i < N ; i++)
        {
            for (int  j = 0 ; j < N ; j++)
                cout << n[i][j] << " ";
            cout << endl;
        }
        cout << endl;


    }
    return 0;
}

0 评论

你确定删除吗?

© 2018-2021 AcWing 版权所有  |  京ICP备17053197号-1
联系我们  |  常见问题
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标
请输入绑定的邮箱地址
请输入注册信息