【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;
}

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

相关推荐
Yupureki1 分钟前
从零开始的C++学习生活 19:C++复习课(5.4w字全解析)
c语言·数据结构·c++·学习·1024程序员节
凤山老林11 分钟前
还在用JDK8?JDK8升级JDK11:一次价值千万的升级指南
java·开发语言·jvm·spring boot·后端·jdk
沐知全栈开发34 分钟前
Servlet 数据库访问
开发语言
ゞ 正在缓冲99%…1 小时前
leetcode1312.让字符串成为回文串的最少插入次数
数据结构·算法·leetcode·动态规划·记忆化搜索
七夜zippoe1 小时前
Rust `std::iter` 深度解析:`Iterator` Trait、适配器与性能
开发语言·算法·rust
靠沿1 小时前
JavaSE知识分享——继承(下)
java·开发语言
寂静山林1 小时前
UVa 1464 Traffic Real Time Query System
算法
laocooon5238578861 小时前
寻找使a×b=c成立的最小进制数(2-16进制)
数据结构·算法
YY_TJJ2 小时前
算法题——图论
算法·深度优先·图论
Catfood_Eason2 小时前
CMPP3020作业2
java·开发语言