1 条题解
-
0
G2022 [GESP202509 二级] 菱形 题解
知识点:嵌套循环、绝对值、图形输出。
解题思路
以(n/2,n/2)为中心,满足abs(i-c)+abs(j-c)==c的位置输出#,其余输出点。
为什么正确
曼哈顿距离固定的格点构成菱形边界,坐标判定覆盖四条边。
易错点
只画轮廓,不将内部填满;本题画#,不要与另一期菱形题的+混淆。
复杂度
时间O(n²),空间O(1)。
参考代码(C++17)
#include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin>>n; for(int i=0;i<n;i++) { for(int j=0;j<n;j++)cout<<(abs(i-n/2)+abs(j-n/2)==n/2?'#':'.'); cout<<"\n"; } }说明
本题解为配套教学整理,非官方题解。复杂度按本页参考实现计算,题库使用14个自行生成的测试点。
- 1