A94594菱形题解
2026-07-27 09:25:41
发布于:浙江
54阅读
0回复
0点赞
这题思路:先找中点k(n/2),在套用曼哈顿距离公式:
然后,判断是不是与中点k相等,如果abs(i-k)+abs(k-j)==k,那么输出'#'。否则输出'.'
下面是AC代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,k;
cin>>n;
int l=n*2;
k=n-1;
for(int i=0;i<l-1;i++){
for(int j=0;j<l-1;j++){
if(abs(i-k)+abs(k-j)==k) cout<<"#";
else cout<<".";
}cout<<"\n";
}
return 0;
}
补充:这GESP出题组有点可恶,连个曼哈顿距离个公式也不给
这里空空如也





有帮助,赞一个