今天才发现输出菱形有一个特别巧妙的方法。就是用曼哈顿距离。


详细资料可以看这里:曼哈顿距离

那么如何用曼哈顿距离来输出菱形的呢?
我们来分析一下。

你会发现输出 " * " 号的位置到中心点的曼哈顿距离都是小于等于 n/2 的。 其中n代表菱形的行数。

那么代码就如下:

#include<iostream>
#include<cmath>
using namespace std;
int main(void)
{int n; cin>>n;int c=n/2;for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(abs(i-c)+abs(j-c)<=c)//曼哈顿距离小于n/2{cout<<"*";}else{cout<<" ";}}cout<<endl;}return 0;
}

用曼哈顿距离来巧解---输出菱形的问题相关推荐

  1. 曼哈顿距离算法详解(含公式)

    欧氏距离是人们在解析几何里最常用的一种计算方法,但是计算起来比较复杂,要平方,加和,再开方,而人们在空间几何中度量距离很多场合其实是可以做一些简化的.曼哈顿距离就是由 19 世纪著名的德国犹太人数学家 ...

  2. 【51nod - 1108】距离之和最小 V2(曼哈顿距离,中位数性质)

    题干: 三维空间上有N个点, 求一个点使它到这N个点的曼哈顿距离之和最小,输出这个最小的距离之和. 点(x1,y1,z1)到(x2,y2,z2)的曼哈顿距离就是|x1-x2| + |y1-y2| + ...

  3. HDU 4311 - Meeting point-1(前缀和优化曼哈顿距离)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4311 题意:给定n个点,找出一点使得该点到其余各点的曼哈顿距离总和最小,输出最小值. 思路:分别对横纵 ...

  4. C++绘制菱形(曼哈顿距离求解:贼快!!!)

    思路: 1.双重for循环遍历输出是最基本的 2.了解曼哈顿距离 (1)菱形的输入一定是奇数 (2)我们是思想是填充 * 怎么填呢?我们来画图看看 以 3*3 的矩阵为例子! 我们来看看 距离是怎么定 ...

  5. 打印菱形(曼哈顿距离法)

    曼哈顿距离: 我们由定义会发现,距离一个点的曼哈顿距离总是在围绕这个点的一个菱形边上,所以我们就有 默认矩阵行列数是奇数 ceter = int(input()) //中心点的坐标for i in r ...

  6. 曼哈顿距离(Manhattan Distance )详解

    概念 曼哈顿距离--两点在南北方向上的距离加上在东西方向上的距离,即d(i,j)=|xi-xj|+|yi-yj|.对于一个具有正南正北.正东正西方向规则布局的城镇街道,从一点到达另一点的距离正是在南北 ...

  7. 详解曼哈顿距离欧式距离切比雪夫距离

    详解曼哈顿&欧式距离&切比雪夫距离 曼哈顿距离 基本概念:出租车几何或曼哈顿距离(Manhattan Distance)是由十九世纪的赫尔曼·闵可夫斯基所创词汇 ,是种使用在几何度量空 ...

  8. 曼哈顿距离最小生成树莫队算法

    参考资料:https://www.cnblogs.com/CsOH/p/5904430.html https://blog.csdn.net/huzecong/article/details/8576 ...

  9. 曼哈顿距离(值得收藏)

    曼哈顿距离 定义 出租车几何或曼哈顿距离(Manhattan Distance)是由十九世纪的赫尔曼·闵可夫斯基所创词汇 ,是种使用在几何度量空间的几何学用语,用以标明两个点在标准坐标系上的绝对轴距总 ...

最新文章

  1. linux磁盘管理系列一:磁盘配额管理
  2. Web 趋势榜:上周最热门的 10 大 Web 项目 - 210410
  3. 关于python搞笑段子_Python爬取内涵段子里的段子
  4. 《数据库SQL实战》找出所有员工当前薪水salary情况
  5. mysql 5.5.23 winx64,win10下mysql 5.7.23 winx64安装配置方法图文教程
  6. 【LeetCode】3月16日打卡-Day1
  7. div 文字 input 垂直居中
  8. linux重启python服务_如何将python脚本作为linux服务启动
  9. win10执行npm出现Error: EBUSY: resource busy or locked 错误解决方法
  10. 学习Jsoup(二)
  11. iOS底层探索之dyld(下):动态链接器流程源码分析
  12. ArcGIS中用数据生成线和面的方法
  13. 唐家三少的新作品《天珠变》的最近评论...
  14. 技术写作中的那些神兵利器
  15. MFC Tab控件的使用方法
  16. 1024程序员节开幕,龙蜥多位技术专家参与演讲
  17. 青蛙跳格子(斐波那契数列)
  18. Awesome Quant
  19. 软件测试有哪些前景?
  20. 常用的十大数据分析方法!

热门文章

  1. rcmd: socket: Permission denied
  2. hibernate映射简单实例
  3. Codeforces - 662A 思路巧妙的异或
  4. 搭建本地 Registry - 每天5分钟玩转 Docker 容器技术(20)
  5. ajax分页实现(php)
  6. how to learn
  7. 蓝牙4.0技术分析1-广播者角色
  8. 出块过程(2)nodeos 服务器接收消息
  9. C++ Primer 5th笔记(chap 14 重载运算和类型转换)函数调用运算符
  10. C++ Primer 5th笔记(6)chapter6 函数: 重载