查看: 763|回复: 0

[C/C++] jzoj:斜行方针

[复制链接]

1

技术

7

魅力

2

原创

管理员

Rank: 9Rank: 9Rank: 9

积分
6759
人气
207
分享
49

灌水之王论坛元老优秀版主活跃会员

发表于 2021-8-15 12:57:41 | 显示全部楼层 |阅读模式
这玩艺在数字方阵里算最基础的了
样例输入:5
样例输出:
  11   7   4   2   1
  16  12   8   5   3
  20  17  13   9   6
  23  21  18  14  10
  25  24  22  19  15

cpp:
[C++] 纯文本查看 复制代码
#include<bits/stdc++.h>
using namespace std;
int a[100][100];
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            if(i+(n+1-j)<=n+1)
            {
                a[i][j]=((i+(n+1-j)-1)*(i+(n+1-j)-1-1))/2+i;
            }
            else
            {
                a[i][j]=(n*n+1)-((((n+1-i)+j-1)*((n+1-i)+j-1-1))/2+(n+1-i));
            }
        }
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            cout<<setw(4)<<a[i][j];
        }
        cout<<endl;
    }
    return 0;
}

论坛事务联系邮箱 henry217@x64bbs.cn
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表