ocrosoft Contest1316 - 信奥编程之路~~~~~第三关 问题 P: 数组1234方阵(phalanx)

Posted zlrrrr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ocrosoft Contest1316 - 信奥编程之路~~~~~第三关 问题 P: 数组1234方阵(phalanx)相关的知识,希望对你有一定的参考价值。

http://acm.ocrosoft.com/problem.php?cid=1316&pid=15

 

题目描述

编程打印如下规律的n*n方阵。输入n,按规律输出方阵。
方阵规律如下图:使左对角线和右对角线上的元素为0,它们上方的元素为1,左方的元素为2,下方元素为3,右方元素为4,下图是一个符合条件的5阶矩阵。
                         0  1  1  1  0
                         2  0  1  0  4
                         2  2  0  4  4
                         2  0  3  0  4
                         0  3  3  3  0

输入

正整数n(<=100)。

输出

所需的方阵。

样例输入

5

样例输出

0 1 1 1 0
2 0 1 0 4
2 2 0 4 4
2 0 3 0 4
0 3 3 3 0

代码:

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

int N;
int maze[110][110];

int main() {
    scanf("%d", &N);
    memset(maze, 0, sizeof(maze));
    for(int i = 1; i <= N; i ++) {
        for(int j = 1; j <= N; j ++) {
            if(i != j && i + j != N + 1) {
                if(i < j) {
                    if(i + j < N + 1)
                        maze[i][j] = 1;
                    else
                        maze[i][j] = 4;
                } else {
                    if(i + j < N + 1)
                        maze[i][j] = 2;
                    else
                        maze[i][j] = 3;
                }
            }
        }
    }

    for(int i = 1; i <= N; i ++) {
        for(int j = 1; j <= N; j ++) {
            if(j != N)
                printf("%d ", maze[i][j]);
            else
                printf("%d
", maze[i][j]);
        }
    }
    return 0;
}

  

以上是关于ocrosoft Contest1316 - 信奥编程之路~~~~~第三关 问题 P: 数组1234方阵(phalanx)的主要内容,如果未能解决你的问题,请参考以下文章

ocrosoft Contest1316 - 信奥编程之路~~~~~第三关 问题 P: 数组1234方阵(phalanx)

ocrosoft Contest1316 - 信奥编程之路~~~~~第三关 问题 I: 寻找大富翁

ocrosoft Contest1316 - 信奥编程之路~~~~~第三关 问题 E: IQ(iq)

ocrosoft 程序设计提高期末复习问题M 递归求猴子吃桃

LJN数理化生信奥队自传

三升四 C++信奥学习规划锁定2022年CSP-J,早规划快速进入信奥领域!