黑马程序员技术交流社区

标题: 有挑战性的C语言问题求助:蜂窝小区最短距离 [打印本页]

作者: 崔石炫    时间: 2014-9-24 00:28
标题: 有挑战性的C语言问题求助:蜂窝小区最短距离
描述:小区排列方式呈蜂窝状,如图。
相邻两个小区之间的距离为1。

如何用C语言实现计算任意两个小区之间的最短距离?


------这是入职前在华为OJ平台上做的联系题,一直没解决。

87b112ee19e73a85f2d32eee721ae233201401190735261286492402.png (136.43 KB, 下载次数: 112)

87b112ee19e73a85f2d32eee721ae233201401190735261286492402.png

作者: 崔石炫    时间: 2014-9-24 00:34
我的想法是:
1>以1号小区为原点建立平面直角坐标系
  则1号小区坐标为:(0,0)
     2号小区坐标为:(0,-2)
     7号小区坐标为:(1,-1)

作者: 崔石炫    时间: 2014-9-24 00:38
2>实际的小区排列方式是以1号小区为中心的圆状,可以计算出每一圈的小区个数,
   以及这一圈中的最大编号和最小编号,
  根据小区排列形状、小区编号,可以计算出任意编号在上述坐标系里对应的坐标,
  然后就可以算出两个小区之间的最短距离。

有空写写伪代码试试可行性




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2