尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

洛谷 B4412:[GESP202509 二级] 菱形 ← 模拟算法

洛谷 B4412:[GESP202509 二级] 菱形 ← 模拟算法
📅 发布时间:2026/6/20 18:58:29

​【题目来源】
https://www.luogu.com.cn/problem/B4412

【题目描述】
小 A 想绘制一个菱形。具体来说,需要绘制的菱形是一个 n 行 n 列的字符画,n 是一个大于 1 的奇数。菱形的四个顶点依次位于第 1 行、第 1 列、第 n 行、第 n 列的正中间,使用 # 绘制。相邻顶点之间也用 # 连接。其余位置都是 .。
例如,一个 5 行 5 列的菱形字符画是这样的:

..#..
.#.#.
#...#
.#.#.
..#..

给定 n,请你帮小 A 绘制对应的菱形。

【输入格式】
一行,一个正整数 n。

【输出格式】
输出共 n 行,表示对应的菱形。

【输入样例】
9

【输出样例】

....#....
...#.#...
..#...#..
.#.....#.
#.......#
.#.....#.
..#...#..
...#.#...
....#....

【数据范围】
对于所有测试点,保证 3≤n≤29 并且 n 为奇数。

【算法分析】
本题关键点在于找规律。
● 在算法代码一中,若令 mid=n/2+1,则在 1~mid 行,j=mid±(i-1) 的位置为字符 ‘#’。在 mid+1~n 行,j=mid±(i-n) 的位置为字符 ‘#’。
● 在算法代码二中,有个更完美的规律:若令 mid=n/2+1,且 abs(i-mid)+abs(j-mid)==mid-1,则位置 (i,j) 处为字符 ‘#’。

【算法代码一】

#include <bits/stdc++.h>
using namespace std;int main() {int n;cin>>n;int mid=n/2+1;for(int i=1; i<=n; i++) {if(i<=mid) {for(int j=1; j<=n; j++) {if(j==mid-i+1 || j==mid+i-1) {cout<<"#";} else cout<<".";}cout<<endl;}if(i>mid) {for(int j=1; j<=n; j++) {if(j==mid-i+n || j==mid+i-n) {cout<<"#";} else cout<<".";}cout<<endl;}}return 0;
}/*
in:
3out:
.#.
#.#
.#.
*/

【算法代码二】

#include <bits/stdc++.h>
using namespace std;int main() {int n;cin>>n;int mid=n/2+1;for(int i=1; i<=n; i++) {for(int j=1; j<=n; j++) {if(abs(i-mid)+abs(j-mid)==mid-1) {cout<<"#";} else cout<<".";}cout<<endl;}return 0;
}/*
in:
3out:
.#.
#.#
.#.
*/




【参考文献】
https://www.luogu.com.cn/problem/solution/B4412

 

​

相关新闻

  • 突破亚微米光电子器件制造瓶颈!配体交换辅助打印技术搭建全打印红外探测器
  • MyEMS 的 “数字神经中枢”:解析其云 - 边 - 端协同架构如何实现毫秒级能效优化
  • c语言中的strcmp函数的模拟实现

最新新闻

  • 如何快速掌握浏览器SVG编辑:专业矢量图形创作终极指南
  • 滁州全屋定制选购指南|百川一沐全屋定制实测盘点+行业避坑干货 - 百航
  • 2026年实测:酒店摄像头检测仪和App探测器哪个更准?3分钟出结果 - GrowthUME
  • MC9S08AW60实现IEC 60730 Class B通信监控与诊断实战指南
  • BTS6303U预驱动放大器在5G mMIMO基站中的设计与实战指南
  • 从PowerQUICC II到III迁移实战:架构差异、MMU配置与调试技巧

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号