《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;
}
相关推荐
船厂电气自动化ai大模型20 小时前
AI大模型与数学 第75课 基、维度、向量空间坐标
数据结构·线性代数·算法·机器学习·推荐算法
hansang_IR2 天前
【题解】P4456 [CQOI2018] 交错序列(矩阵乘法)
c++·线性代数·算法
浪里镖客2 天前
位姿转换矩阵中旋转与平移转换的问题--解决方案
线性代数·矩阵
hansang_IR3 天前
【题解】P5364 [SNOI2017] 礼物
c++·线性代数·算法
吴声子夜歌6 天前
ApacheCommons——commons-math3(科学计算与线性代数)(一)
java·线性代数·算法·apache
AI_yangxi6 天前
口碑好的短视频矩阵系统
线性代数·矩阵
微三云生态系统架构师-彭丹7 天前
矩阵拼团系统设计:先付款先排队的订单排序与自动返本算法
线性代数·算法·矩阵
张欣-男8 天前
5分钟理解线性代数v2
人工智能·线性代数·机器学习
张欣-男8 天前
3分钟理解线性代数
线性代数·算法
智购无人售货机厂家9 天前
2026自动售货机软硬件版本管理策略:从版本号规范到兼容性矩阵的工程实践~YH
运维·服务器·人工智能·单片机·嵌入式硬件·线性代数·矩阵