gesp(二级)(16)洛谷:B4037:[GESP202409 二级] 小杨的 N 字矩阵

gesp(二级)(16)洛谷:B4037:GESP202409 二级 小杨的 N 字矩阵

题目描述

小杨想要构造一个 m × m m \times m m×m 的 N N N 字矩阵( m m m 为奇数),这个矩阵的从左上角到右下角的对角线、第 1 1 1 列和第 m m m 列都是半角加号 + ,其余都是半角减号 - 。例如,一个 5 × 5 5 \times 5 5×5 的 N 字矩阵如下:

plain 复制代码
+---+
++--+
+-+-+
+--++
+---+

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

输入格式

输入只有一行包含一个正整数 m m m。

输出格式

输出对应的 N N N 字矩阵。

样例 #1

样例输入 #1

复制代码
5

样例输出 #1

复制代码
+---+
++--+
+-+-+
+--++
+---+

提示

数据规模与约定

对全部的测试数据,保证 3 ≤ m ≤ 49 3 \leq m \leq 49 3≤m≤49 且 m m m 是奇数。

AC代码(100分)

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
/*思路:双层循环 
       i是行,j是列
	   第一列:j==1、最后一列:j==m、左上到右下对角线:i==j 
*/
int m;
int main(){
	cin>>m;
	for(int i=1;i<=m;i++){//i是行 
		for(int j=1;j<=m;j++){//j是列 
			if(j==1||j==m||i==j){//判断 
				cout<<'+';
			}else{
				cout<<'-';
			}
		}
		cout<<endl;
	}
	return 0;
}

文末彩蛋:

点击王老师青少年编程主页有更多精彩内容

相关推荐
2401_868534782 小时前
RTOS之RT-Thread & Linux:线程/进程管理与调度核心差异分析
c++·python
wabs6663 小时前
关于图论【卡码网117.软件构建的思考】
数据结构·算法·软件构建·图论·卡码网
mifengxing3 小时前
LeetCode 41.缺失的第一个正数|Hard题O(n)+O(1)最优解法深度解析
java·算法·leetcode·排序算法
郝学胜-神的一滴3 小时前
Qt 高级编程 040:按钮悬浮弹出滑块弹窗的完整攻略
开发语言·c++·qt·软件工程·用户界面
Tongzhi20264 小时前
从部署到运维:通芝科技无感考勤一体机的全流程效率解析
运维·数据结构·科技·算法·贪心算法
Wang's Blog4 小时前
AI Agent白手起家30: 动态示例选择器之根据长度选择 Few Shot 示例
算法
oyguyteggytrrwwwrt6 小时前
自制交叉线路识别算法
算法
手写码匠6 小时前
华为云Flexus+DeepSeek征文|Dify 多智能体协同编排实战:R1 规划 + V3 执行,构建企业 Agent 团队
人工智能·深度学习·算法·aigc
晓天衡宇•评测社区7 小时前
FSR-Bench 前沿科学推理榜单发布:GPT-5.5 居首,“会推理”未必“能答对”
算法
程序喵大人8 小时前
【C++进阶】STL算法与函数对象 - 02 sort为什么需要随机访问迭代器
开发语言·c++·算法