专栏文章
B4235 [四川青少年 C++ 算法设计大赛 2024] 4-5 年级组第 6 题
B4235题解参与者 3已保存评论 2
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mipyoukt
- 此快照首次捕获于
- 2025/12/03 20:06 3 个月前
- 此快照最后确认于
- 2025/12/03 20:06 3 个月前
欢迎报名洛谷网校,期待和大家一起进步!
本题考察循环嵌套。
外面大矩形的边长为 ,而中间挖掉的正方形的边长为 ,可以得知:在第 行列到第 行列是需要被挖空的。
以样例的 为例,第 行列到第 行列是空的。
因此我们可以计算得到挖空区域的起始和终止位置。
CPPint st = (a - b) / 2 + 1; // 计算挖空区域的起始位置
int ed = (a + b) / 2;
接着设计一个二重循环,外层 循环行数,内层 循环列数,判断当前位置是否是需要被挖空的即可完成本题。
参考代码(部分):
CPPfor (int i = 1; i <= a; i++) {
for (int j = 1; j <= a; j++) {
if (i >= st && i <= ed && j >= st && j <= ed)
cout << ' ';
else
cout << '*';
}
cout << endl; // 每行结束后换行
}
相关推荐
评论
共 2 条评论,欢迎与作者交流。
正在加载评论...