【CCF GESP 2 级】小杨的H字矩阵 洛谷 B3924

首先,这题数据肯定有大问题。为什么答案输出了数字?

  • 20250228 upd:该数据已被修复,可放心提交。

好了,不提这个了。讲讲思路:

因为 a 有很多,单独填充很麻烦,所以先把数组的所有值都填充字符 a

然后就在第一列和最后一列填充 |

最后按题目要求在 ( n + 1 ) 2 \frac{(n+1)}{2} 2(n+1) 的第 2 2 2 到 n − 1 n-1 n−1 列填充 -,完事。

整理一下:

  1. 全部填充 a
  2. 在第一列和最后一列填充 |
  3. 在 ( n + 1 ) 2 \frac{(n+1)}{2} 2(n+1) 的第 2 2 2 到 n − 1 n-1 n−1 列填充 -
  4. 输出答案。

代码:

cpp 复制代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n;
char a[101][101];
signed main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++)a[i][j]='a';
	}
	for(int i=1;i<=n;i++){
		a[i][1]=a[i][n]='|';
	}
	int t=(n+1)/2;
	for(int i=2;i<=n-1;i++){
		a[t][i]='-';
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++)cout<<a[i][j];
		cout<<'\n'; 
	}
	return 0;
}

这就是全部了,希望可以帮到你!

相关推荐
李白同学1 分钟前
C++:类和对象(下篇)
开发语言·c++
北顾南栀倾寒24 分钟前
[杂学笔记]迭代器的原理、进程与线程的区别、.vector的内存管理、vim的命令模式指令集合、多线程的最大问题、HTTP协议与HTPPS协议区别
开发语言·c++·笔记·http·vim
萌の鱼29 分钟前
leetcode 240. 搜索二维矩阵 II
数据结构·c++·算法·leetcode·矩阵
虾球xz36 分钟前
游戏引擎学习第131天
c++·学习·游戏引擎
suxiaoling@38 分钟前
C#读写ini文件
开发语言·c#·上位机开发
@心都44 分钟前
机器学习数学基础:37.统计学基础知识1
人工智能·算法·机器学习
UQI-LIUWJ1 小时前
数据集/API 笔记 新加坡相对湿度数据
笔记
土豆炒马铃薯。1 小时前
【Java 基础(人话版)】Java 虚拟机(JVM)
java·开发语言·jvm·后端·java基础·虚拟机
ViviranZ1 小时前
注意力机制详解笔记 Attention is all I donot understand!
笔记
程序员徐师兄1 小时前
基于Python Django的人脸识别上课考勤系统(附源码,部署)
开发语言·python·django·人脸识别考勤·人脸识别上课考勤系统