《B3955 [GESP202403 二级] 小杨的日字矩阵》

题目背景

对应的选择、判断题:https://ti.luogu.com.cn/problemset/1142

题目描述

小杨想要构造一个 N×N 的日字矩阵(N 为奇数),具体来说,这个矩阵共有 N 行,每行 N 个字符,其中最左列、最右列都是 |,而第一行、最后一行、以及中间一行(即第 2N+1​ 行)的第 2∼N−1 个字符都是 - ,其余所有字符都是半角小写字母 x 。例如,一个 N=5 日字矩阵如下:

复制代码
|---|
|xxx|
|---|
|xxx|
|---|

请你帮小杨根据给定的 N 打印出对应的"日字矩阵"。

输入格式

一行一个整数 N(5≤N≤49,保证 N 为奇数)。

输出格式

输出对应的"日字矩阵"。

请严格按格式要求输出,不要擅自添加任何空格、标点等任何符号。你一个恰好输出 N 行,每行除了换行符外恰好包含 N 个字符,这些字符要么是 -,要么是 |,要么是 x。你的输出必须和标准答案完全一致才能得分,请在提交前仔细检查。

输入输出样例

输入 #1复制

复制代码
5

输出 #1复制

复制代码
|---|
|xxx|
|---|
|xxx|
|---|

输入 #2复制

复制代码
7

输出 #2复制

复制代码
|-----|
|xxxxx|
|xxxxx|
|-----|
|xxxxx|
|xxxxx|
|-----|

代码实现;

cpp 复制代码
#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    int mid = (n + 1) / 2;
    for (int i = 1; i <= n; ++i) {
        for (int j = 1; j <= n; ++j) {
            if (j == 1 || j == n)
                cout << "|";
            else if (i == 1 || i == n || i == mid)
                cout << "-";
            else
                cout << "x";
        }
        cout << endl;
    }
    return 0;
}
相关推荐
惊鸿一博1 天前
Plücker直线_ 用两个三维向量描述一条空间直线
线性代数·算法·直线·几何表示
I Am a robert girl2 天前
MeqMuon 源码级拆解:当优化器开始“配平”更新矩阵
深度学习·线性代数·矩阵·优化器·大模型预训练·muon·矩阵正交化
大雨歌3 天前
笛卡尔坐标 → 自然坐标(Frenet) 逐步推导全解 -5
线性代数
云的雨 雨的云4 天前
手写算法动画上位机:从排序到线性代数可视化
线性代数·算法
goujunwe4 天前
保险 GEO 信源矩阵搭建:代理人轻量化分层信源,构建 AI 认可的交叉佐证网络
人工智能·线性代数·矩阵
Samson Bruce4 天前
【数学之美】
线性代数·算法·概率论
fpcc5 天前
AI和大模型—矩阵相似
人工智能·线性代数·矩阵
可爱系程序猿6 天前
模型推理任务弹出找不到 cublas64_12.dll,CUDA 12 矩阵计算库按安装包核对
程序人生·线性代数·矩阵·电脑
DevOps老兵6 天前
【老计带你懂线性代数】09:特征值与特征向量,矩阵最本质的方向
线性代数·矩阵·pca·特征值·特征向量·pagerank
SomeOtherTime7 天前
电磁波基础相关(AI回答)
人工智能·线性代数